ubuntu14.04 で libpcap を使用してパケットをキャプチャし、http を使用して送信された HTML を取得したいのですが、得られた結果は同じ状況で Wireshark で取得したデータと一致しません。
現在のコードは次のとおりです:
リーリーサーバーには単純な HTML があり、ブラウザを使用してサーバー http://123.206.7.47/test.html にアクセスすると、Wireshark (bpf と同じ) は次のように 10 個のパケットをキャプチャします。
私のプログラムでデバッガーを使用すると、次の図が表示されます。この図は、上の図の 4 番目のパケット (サイズ 474) に対応します。
unsigned char * パケットが不完全なシーケンスとして表示されるのはなぜですか?そして、なぜ tcp_data はこれほど短いのでしょうか?
私のコードに libpcap の設定が欠落しているのでしょうか、それとも他の理由によるものでしょうか?
もう 1 つ付け加えておきたいのは、他の Web サイトにアクセスすると、完全な HTTP リクエストをキャプチャできる場合がありますが、アクセスした Web ページではキャプチャできないことです。
为情所困2017-05-16 13:26:16
もう解決しました。 caplen を押すだけで文字を読み取れます。printf("%s")
输出不全似乎是因为某个二进制数据是