簡體   English   中英

如何發送 SYN 數據包而不發送 ACK 響應?

[英]How to send a SYN packet and not sending the ACK response?

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("HOST", PORT))

這段代碼肯定會向 HOST 發送一個 SYN 數據包,但它是否完成了三次握手? 它是否將ACK數據包發送到HOST?

如果沒有,我怎樣才能讓套接字不發送 ACK 數據包?

那是因為我正在嘗試研究 syn flood 漏洞以及這種攻擊是如何工作的。 因此發送了 SYN 數據包,但沒有發送 ACK 數據包響應。

.connect .connect()調用要求 kernel 使用標准 3 次握手設置可用套接字:

  1. 同步 →
  2. ← 同步+確認
  3. 確認 →

要在不創建可用套接字的情況下發送數據包,請改為調用hping3

$ sudo hping3 -i u1 -S -p 80 192.168.1.1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM