2

データレイヤーのみをキャプチャし、wiresharkの上位レイヤーを無視する方法はありますか?そうでない場合、これを行うことができる別のパケットダンプユーティリティはありますか?パケットごとに1つのファイルが好ましい!

私が探しているもの:データ(ペイロード)レイヤーのみをファイルにダンプするユーティリティ。

これはプログラミング関連です...!私が本当にやりたいのは、サードパーティのエンコーディング/プロトコルを理解し始めるために、すべてのデータグラムを比較することです。理想的には、そして素晴らしいことは、複数のファイルを比較する16進比較ユーティリティです!

4

3 に答える 3

5

パケットを右クリックして、「Follow TCP Stream」を選択してください。次に、TCP 通信を raw ファイルに保存して、さらに処理することができます。この方法では、すべての TCP/IP プロトコル ジャンクを取得することはありません。

于 2009-02-12T16:43:57.210 に答える
0

Wiresharkにはキャプチャサイズを制限する機能がありますが、68bytesが最小値のようです。一定数のキロ、メガ、ギガバイトの後に新しいファイルを開始するオプションがありますが、ここでも最小は 1 キロバイトであるため、おそらく役に立ちません。

pcap ライブラリを見て、自分で作成することをお勧めします。過去に PERL Net::Pcap ライブラリを使用してこれを実行しましたが、他の言語でも簡単に実行できます。

Unix/Linux を利用できる場合は、tcpdump も調べることができます。-s で取得するデータ量を制限できます。たとえば、「-s 14」は通常、イーサネットヘッダーを取得します。これは、データリンクレイヤーの意味だと思います。-C でファイル サイズを指定して、ファイルの作成頻度を制御するオプションもあります。したがって、理論的には、ファイル サイズをキャプチャ サイズに設定すると、パケットごとに 1 つのファイルが取得されます。

于 2009-02-12T16:35:53.657 に答える
0

を使用しtsharkて、telnetとしてデコードし、フィールドtelnet.dataを印刷することにより、データのみを印刷できました

tshark -r file.pcap -d tcp.port==80,telnet -T fields -e telnet.data



GET /test.js HTTP/1.1\x0d\x0a,User-Agent: curl/7.35.0\x0d\x0a,Host: 127.0.0.1\x0d\x0a,Accept: */*\x0d\x0a,\x0d\x0a

HTTP/1.1 404 Not Found\x0d\x0a,Server: nginx/1.4.6 (Ubuntu)\x0d\x0a,Date: Fri, 15 Jan 2016 11:32:58 GMT\x0d\x0a,Content-Type: text/html\x0d\x0a,Content-Length: 177\x0d\x0a,Connection: keep-alive\x0d\x0a,\x0d\x0a,<html>\x0d\x0a,<head><title>404 Not Found</title></head>\x0d\x0a,<body bgcolor=\"white\">\x0d\x0a,<center><h1>404 Not Found</h1></center>\x0d\x0a,<hr><center>nginx/1.4.6 (Ubuntu)</center>\x0d\x0a,</body>\x0d\x0a,</html>\x0d\x0a

完璧ではありませんが、必要なものには十分でした。

于 2016-01-15T18:33:32.530 に答える