2016-05-29 117 views
0

當客戶端通過hping3(非欺騙)發送10個TCP SYN數據包時,服務器響應併發送10個TCP SYN + ACK數據包。現在客戶端應該回答服務器並通過發送10個ACK數據包建立連接,但客戶端發送10個RST並終止半開連接(我猜這是因爲linux內核響應)。通過hping3建立TCP連接

我怎樣才能每秒發送10個SYN數據包(到不同的源端口相同的目的地),並作爲對SYN + ACK的響應,發送ACK並建立連接? 非常感謝

回答

0

hping3發送原始數據包,而不打開面向連接的套接字與內核 - 因此RST。爲了讓內核建立連接,你必須在你的應用程序端保持打開一個套接字。這意味着應用程序必須繼續運行,如果關閉,內核將重置所有打開的套接字。

您的選擇是有限的,您可以嘗試'nc'(netcat),併爲每個想要打開的連接啓動一個新進程。或者編寫一個打開多個連接的程序,每個連接使用不同的套接字以確保每個連接的源端口不同。請記住,在單個程序中以及在整個系統上可以打開多少個套接字是有限制的。