12

libpcapを介してHTTPデータをスニッフィングし、TCPペイロードを処理した後にすべてのhttpコンテンツ(ヘッダー+ペイロード)を取得しようとしています。

httpスニファ(または他のアプリケーションレベルのスニファ)の作成での私の議論によると、断片化による問題に直面しています-完全なHTTPパケットを取得するには、ストリーム全体を再構築(またはデフラグ)する必要があります。これが私が行う場所です。助けが要る。

期待してくれてありがとう!!

4

5 に答える 5

9

とても簡単です。pcapから取得したイーサネットフレームを取得し、それらからIPパケットを抽出して、フラグメント化されたものを再アセンブルするだけです。次に、重複データを破棄することに注意しながら、シーケンス番号に従ってIPパケットからTCPセグメントを並べ替えます。次に、ストリームをHTTPストリームとして処理します。もちろん、HTTPはパケットで提供されません。これはアプリケーション層プロトコルですが、他のすべての作業を実行すれば、これは明らかになると確信しています。データが正しいことを確認するために、IPヘッダーとTCPセグメントをチェックサムするためにこれらすべてのことを行うときは、注意してください。また、pcapがパケットを見逃した場合は、これを適切に処理するようにしてください。

Linux TCPスタックに沿って支援するために、カーネルで発生するこのプロセスへの簡潔な参照を提供する必要があります。

于 2010-05-26T20:47:43.790 に答える
5

ストリームを自分で再アセンブルするのではなく、tcptraceを使用してpcapファイルを再アセンブルできます。-e私はそれをするだろうと信じています。

アプリケーション層のデータを1つにまとめたら、単純なHTTPヘッダー解析を適用できます。http://github.com/ry/http-parserなどのライブラリからのPerhps

于 2010-05-26T21:02:14.033 に答える
2

pcapファイルからhttpコンテンツを再構築するための最良のツールは、justnifferです。これは、IPフラグメンテーションとtcpパケットの再調整にLinuxカーネルのprtionを使用します。

于 2012-05-30T11:09:17.837 に答える
2

pcapファイルに含まれるデータを再構築するための素晴らしいツールはXplicoです:http ://www.xplico.org

于 2011-05-09T17:36:55.217 に答える
1

PCapPlusPlusには、トラフィックをスニッフィングし、各ストリームを個別のテキストファイルに出力するコンソールプログラムTCPReassemblyの例が含まれています。多くのオプションの中から、どのストリームをリッスンするかを指示できます。

ドキュメントには、さらに多くのオプションを備えたLinuxアプリtcpflowについても記載されています。

于 2019-09-30T16:12:33.320 に答える