質問: httpパケットの束から単一のウェブサイトのURLを入手しますか? 私はネットワークプログラミングの初心者ですので、私には間違いを許してください。 私は単純なスニッファを書いています。これはユーザが要求したウェブサイトのURLだけを検出するはずです。私はpcap.netを使用しており、httpパケット(tcpポート80フィルタ付き)を取得し、そこからデータを取得することができます。私ができないことは、要求のための単一のURIを取得して、多くのhttpパケットが来るようにすることです。 例えば、 1.ユーザが(ブラウザから)www.website.comを要求する 2.多くのhttpレスポンスが来て、そのうち1つはwww.website.comのtext/htmlです 3. www.website.comには他のhtmlページからのリソースが含まれているため、他のホストからの他の多くのパケットが届いています。 リソースからのパケットを無視する方法はありますか?いくつかのtcpセッションの再構築が必要ですか?私は2日間はグーグルで遊んでいましたが、役に立たなかったので、助けてください。
回答: 他のホストからのHTTPレスポンスは、リクエストが送信されたIPではなく、異なるIPに由来する可能性があるため、識別できます。 IPとTCPポートを調べるだけで、完全なTCP再構築なしでもHTTP要求と応答を一致させることができます。 ただし、同じTCPセッションで複数のHTTP要求がある場合は、異なる要求と応答を分離するためにTCP再構成を行う必要があります。