2008年12月27日土曜日

Wireshark/Tsharkのログを分割する方法

何も考えずにキャプチャフィルタをかけないまま一日パケットを取っていたら、arpやらicmpやら不要ないろんな物が入ってログが2GBになってWiresharkで開けなくなってしまいました。

ネットを見てもキャプチャ時に自動的に分割する方法はあるものの、すでにキャプチャしてしまったログを分割する情報が全然ない。
現場で途方に暮れましたが何とかやり方がわかりました。

editcapコマンドを使います。(コマンドライン用のプログラムです。Windows版にも同梱)

<パケット数で分割する方法>


> editcap hoge fuga -c 10000

これは巨大なhogeというパケットログファイルを複数のファイルに分割します。
上記例だと分割単位は1ファイル10000パケットに分割します。

(hogeに30000パケットが保管されている前提で)実行すると以下のようなファイルが3つできます。
  • fuga_00001
  • fuga_00002
  • fuga_00003
pcapという拡張子はつきませんが、Wiresharkにドラッグしてやれば開くことができます。

<時間の範囲指定で分割する方法>


> editcap hoge fuga -A "2012-04-10 00:00:00" -B "2012-04-10 23:59:59"

このコマンドを実行すると、元のhogeファイルの中の4/10の0:00から23:59までのキャ
プチャのみが新しいファイルとして生成されます。