2014-03-04 48 views
0

我想實現使用python的三次握手。以下是我所做的:實現三次握手

1-I創建syn包。

2-I將數據包發送到目的地。

3-I創建了一個函數,該函數將偵聽通過我的NIC的所有流量。它與sniffer類似。如果此函數要找到指向我的IP地址的數據包並且發送的端口相同syn包通過,它會解析它。

4 - 如果捕獲的數據包中的標誌被設置爲syn + ack,則該函數將生成一個TCP數據包,並設置ack標誌。

問題是,在我發送ack數據包之前,系統發送RST數據包。 那麼,行爲的含義是什麼?無論如何阻止它?

說明: 我沒有爲生產目的實現三次握手。我只是想了解協議TCP是如何工作的。

回答

0

禁用系統的TCP/IP堆棧,以便完全控制通過網絡發送的內容。通常最簡單的方法就是不在你使用的接口上配置IP。請注意,您將需要處理ARP請求。