web-dev-qa-db-ja.com

pcapファイルを小さなファイルのセットに分割する方法

(tcpdumpで生成された)巨大なpcapファイルがあります。ワイヤーシャークで開こうとすると、プログラムが応答しなくなります。ファイルを小さいファイルのセットに分割して、1つずつ開く方法はありますか?ファイルにキャプチャされたトラフィックは2つのサーバー上の2つのプログラムによって生成されるため、tcpdumpの「ホスト」または「ポート」フィルターを使用してファイルを分割することはできません。私はlinuxの 'split'コマンドも試しましたが、運が悪かったです。 Wiresharkはフォーマットを認識しませんでした。

49
facha

Tcpdump自体を-C、-r、および-wオプションとともに使用できます。

tcpdump -r old_file -w new_files -C 10

「-C」オプションは、分割するファイルのサイズを指定します。例:上記の場合、新しいファイルのサイズはそれぞれ1000万バイトになります。

76
Dan Andreatta

Wiresharkと共に配布される editcap ユーティリティを使用します。

20
Dan Carley

私はこの答えが少し遅いことを知っていますが、それは他の人々にも役立つかもしれません。 pcapファイルを分割するための素晴らしいツールを見つけました: PcapSplitterPcapPlusPlus ライブラリの一部であり、クロスプラットフォーム(Win32、Linux、Mac OS)であり、ファイルサイズ(必要と思われるもの)などのさまざまな基準に基づいてpcapファイルを分割できますが、また、接続、クライアント/サーバーIP、サーバーポート(プロトコルと同様)、パケット数などによっても非常に便利です。上記のリンクはソースコード用ですが、コンパイルの方法がわからない場合は、このツールを使用してきたいくつかのプラットフォーム用に compiled binaries を作成しました。私はこのツールをとてもお勧めします

編集:明らかに新しいバージョンのPcapPlusPlusがリリースされ、かなり多くのプラットフォーム(Windows、Ubuntu 12.04/14.04、Mac OSX Mavericks)のPcapSplitterバイナリが含まれています。/Yosemite/El Captian)。以前に提供したリンクよりもこれらのバイナリを使用する方が良いと思います。あなたはそれを見つけることができます ここ

3
seladb

最善かつ最速の方法は、たとえばセッションに基づいて大きなパケットダンプファイルを分割できるSplitCapを使用することです。このように、各TCPセッションを個別のPCAPファイルで取得します。SplitCapは、IPアドレスに基づいてパケットをpcapファイルに分離することもできます。

NetResecブログでSplitCapの詳細を読むことができます。 http://www.netresec.com/?page=Blog&month=2011-05&post=Split-or-filter-your-PCAP-files-with-SplitCap

ここからSplitCapをダウンロードします: http://www.netresec.com/?page=SplitCap

幸運を!

2
Netresec
tcpdump -w trace.pcap -W 48 -G 300 -C 100 -i any port 41110
  • -G 300 5分で回転します
  • -W 48ファイルの数
  • -C 100ファイルサイズ100 MB
  • portアプリケーションに基づいてポートを指定できます
0
user531905