検索

ホームページ  >  に質問  >  本文

linux - libpcap パケット キャプチャの結果が不完全ですか?

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 ページではキャプチャできないことです。

伊谢尔伦伊谢尔伦2749日前661

全員に返信(1)返信します

  • 为情所困

    为情所困2017-05-16 13:26:16

    もう解決しました。 caplen を押すだけで文字を読み取れます。printf("%s")输出不全似乎是因为某个二进制数据是 は切り捨てられます。

    返事
    0
  • キャンセル返事