-1

シーケンス番号とTCPフラグ(SYN、ACK)に焦点を当てて、rawソケットを使用してTCPパケットを作成します

1台のマシンSを使用してtcpACKパケットを送信し(フラグACKは1に設定されています)、別のマシンRを使用して受信しました。これら2台のマシンは、すべて私の学校で異なるサブネットにあります。

その間、tcpdumpを使用してパケットをキャプチャしました。

奇妙なことが起こります!マシンSでは、キャプチャされたパケットは期待どおりであり、ACKパケットですが、受信マシンRでは、パケットはSYNパケットになり、シーケンス番号が変更されます。シーケンス番号は予想より1小さくなり、ack_seqは次のようになります。 0!

潜在的な問題は何ですか?私の推測では、ルーター/ファイアウォールは、ACKの前にSYN SYN / ACK交換を認識しないため、ACKパケットをSYNパケットに変更しましたか?それは可能かどうか?

キャプチャされた2つのパケットは次のとおりです。

https://docs.google.com/file/d/0B09y_TWqTtwlVnpuUlNwUmM1YUE/edit?usp=sharing https://docs.google.com/file/d/0B09y_TWqTtwlTXhjUms4ZnlkMVE/edit?usp=sharing

4

1 に答える 1

0

遭遇する最大の問題は、それぞれの場合の受信側 TCP スタックがパケットを受信し、場合によってはそれに応答することです。あなたが試みていることは本当に不可能です。

于 2013-03-17T22:58:41.983 に答える