重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

WiresharkとFirefoxを使って、TCPの動作を勉強中です。
ためしに、Yahooのページをアクセスしたときのログを見てみると、
GET / HTTP/1.1など、全てのGETコマンドの欄が赤く表示されました。詳細を見ると、TCPのチェックサムエラーでした。他のWEBサイトをアクセスしてもチェックサムエラーと表示されています。しかし、yahooのホームページは正しく表示されています。TCPではチェックサムが必須とされているのに不可解なWiresharkの表示です。

環境の異なるパソコンでも同じ結果でした。

Wiresharkの使いかたに問題があるのか?Wiresharkのバグなのか?httpに限ってはチェックサムが誤っていても良いのか?

実際にWiresharkを使ったうえでのコメントをお願いいたします。

A 回答 (1件)

送信するパケットのチェックサムは、ソフトじゃなくてハードウェア(LANカード)にセットさせることが出来ます。

この場合、WindowsからLANカードのデバイスドライバに渡されるパケットのチェックサムフィールドは適当です。PCから外に出る段階では正しくなっていますので心配ありません。

この回答への補足

TCPの3ウェイハンドシェイクの
SYN
SYN+ACK
ACK
にはチェックサムエラーが出ませんし、

HTTPのGETコマンドのときのみ、TCPチェックサムエラーが出ます。

そもそも、LAN用チップのマニュアルによれば、CRCは殆ど全てのチップに任されている機能ですが、チェックサムは、最近のLAN用チップにのみに搭載されている機能です。そして、Wiresharkでは、IPヘッダーのチェックサム及びTCPのチェックサムをモニタできます。たとえ、TCPソケットがチェックサムをハードウェアに任せたとしても、Wiresharkではモニタできるようになっています。

補足日時:2009/02/10 01:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!