我想請教一下原始套接字編程和Linux內核的TCP處理一個典型的問題,內發出SYN_ACK。我已經對linux raw socket programming question,How to reproduce TCP protocol 3-way handshake with raw sockets correctly?和TCP ACK spoofing等一些相同的線程進行了研究,但仍無法獲得解決方案。如何設置Linux內核不發送RST_ACK,這樣我就可以原始套接字
我儘量讓不聽任何端口的服務器,而是從遠程主機嗅探的SYN數據包。服務器做了一些計算後,它會發送SYN_ACK數據包到相應的SYN數據包,以便我可以手動創建TCP連接,而不包括內核的操作。我創建了原始套接字並將SYN_ACK發送給它,但數據包無法連接到遠程主機。當我服務器上的tcpdump(Ubuntu Server 10.04)和客戶端上的wireshark(windows 7)時,服務器返回RST_ACK而不是我的SYN_ACK數據包。在做了一些研究後,我得到的信息是我們無法搶佔內核的TCP處理。
是否還有任何其他的方法來破解或設置內核不響應RST_ACK那些包? 我添加了一個防火牆服務器的本地IP告訴也許有其正在等待數據包的防火牆背後的東西的內核,但仍沒有運氣
您是否嘗試過使用iptables阻止傳出的TCP數據包?希望這可以在讓原始數據包通過的情況下完成。 – Dan
我很想知道這有什麼應用程序......你似乎試圖劫持TCP連接。 –