2009-03-20 9 views
6

私はJavaソケットを試しています。私はソケットに接続し、問題のないデータバイトを送受信することができます。しかし、私はまた、wiresharkを使用してトラフィックを盗聴し、javaソケットから来る各パケットに "tcp checksum incorrect"というwiresharkとマークされていることに気づいています。Javaソケット:TCPチェックサムが正しくありません

誰でも洞察力はありますか?

Javaのバージョン "1.6.0_12" のJava(TM)SEランタイム環境(ビルド1.6.0_12-B04) は、Java HotSpot(TM)クライアントVM(共有、11.2-B01、混合モードを構築する)

Wireshark v1.0.6 w/WinPcap 4.0.2

答えて

13

多くの場合、Wiresharkのようなツールを使用すると、ローカルパケットに不正なtcpチェックサムが与えられることがわかりました。

これは、OSがローカルホスト宛のパケットにTCPチェックサムを入力する作業を浪費していないことを意味します(結局、間違っている可能性はありません)。

また、実際の物理インターフェイス上に出て行くローカルで生成されたパケットは、おそらくハードウェアによって生成されたtcpチェックサムを持っている可能性があります。これは、パケットを送信したときに、一般に不正なチェックサムがあるように見えることを意味します(ワイヤ上では、正しいでしょう)。

スイッチにモニタポートを設定し、接続された別のボックスにWiresharkを実行すると、真の画像が表示されます。

7

これは、Wireshark wiki hereに記載されています。

関連する問題