ネットワークのトラブルシューティングでは、ネットワーク上を流れるパケットをキャプチャして解析することが有効な手段の一つです。
不具合の再現方法が、タイミングが事前に判明している場合は、簡単にパケット・キャプチャを取得することが可能です。
しかしながら、頻度が低く、不定期に発生するような問題も少なくありません。
このような問題の調査を行うには、長時間に渡り、継続してパケットキャプチャを取得し続ける必要が出てきます。
ここでは、Wiresharkで長時間のパケットキャプチャを行う方法について説明します。
長時間のパケットキャプチャを取得する方法
Wiresharkで長時間のキャプチャを実施する場合、データを直接ディスク上に書き込むように設定します。
書き込むファイルは、解析処理を行うPCの性能等を考慮し、複数のファイルに分割(Use multiple files)するようにします。
下記の設定は、キャプチャしたファイルを20 megabytes 毎に分割(Next file every)する場合の例です。
キャプチャを実施するPCのハードディスクのサイズにも制限がるため、リングバッファ(Ring Buffer wite)の設定を 50 filesに設定しています。
この場合、file 1、file 2、...、file 50 までの保存が終わると、file 1 に戻って保存を行います。
メニューバーから Capture > Options を選択します。


上記の設定でパケットキャプチャを開始します。指定したディレクトリに、複数のキャプチャファイルが生成されます。

分割されたキャプチャファイルの処理方法について
収集したファイルを解析用のPCでオープンした場合、Wireshark はキャプチャしたデータを File Set として認識します。

実際にキャプチャしたファイルの解析を行う際、コールの内容(シグナリング、RTP)が複数のファイルにまたがっている場合があります。
一つのファイルとして解析処理を行いたい場合、ファイルをマージする必要が出てきます。
下記の例では、分割されたキャプチャファイルを、Wireshark に付属したコマンド(mergecap.exe)で一つのファイルに結合しています。

( mergecapコマンドの書式: mergecap.exe 入力ファイル名1 入力ファイル名2 -w 出力(結合)ファイル名 )
結合されたファイルを、再度、Wireshark に読み込み、シグナリング、RTP等の解析処理を行います。