[英]Attempting to send TCP SYN packet with data and RST with data, but raw data field disappears in transit. Why?
我正在嘗試制作原始TCP數據包,以在Linux客戶端和服務器上的原始套接字中通過Ether發送。 TCP數據包的特殊部分是,我試圖使用TCP SYN數據包和RST數據包的原始數據字段來回發送數據(以證明有關TCP協議未使用部分的概念)。
我已禁用服務器上iptables的RST數據包。
簡而言之,這是我目前的情況:
但是,使用相同的套接字,我可以成功地做到這一點:
有人可以向我解釋為什么我發送的數據包似乎沒有以與我發送它們相同的方式到達服務器嗎?
為什么成功嘗試后會收到兩個數據包(一個帶有SYN ACK,一個帶有PSH ACK)?
SYN和RST數據包似乎丟失了數據,但SYN ACK數據包沒有丟失。 這是防火牆問題嗎?
如果是這樣,我該如何調試截獲數據包的內容?
謝謝!
原來VMWare虛擬適配器正在修改傳輸中的數據包。 當我在主機操作系統上捕獲數據包時,傳輸數據沒有任何問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.