TOP

技術Tips

Wireshark使いこなしTips

第1回:大きなPCAPファイルの管理方法

editcapコマンドで大きなPCAPファイルを複数のファイルに分割 : Wiresharkをより快適に使用

etherExtractorでは、パケットを取り込む時点で様々なフィルタ機能を活用したり、PCAPファイルに出力する際のファイルサイズを指定することにより、本来の解析の対象以外の無駄なトラフィックを排除したり、出力されるPCAPのファイルサイズをあらかじめ抑えることができます。しかし、

  • 過去にすでに取得したPCAPファイルが大きなファイルサイズであった
  • ネットワーク上で生じるさまざまな事象をまずはすべてキャプチャしたい

といったような場合に問題になるのが、先の「etherExtractor使いこなしTips」においても触れましたWiresharkのパフォーマンスです。PCAPのファイルサイズが大きい場合、ひとつの大きなPCAPファイルを複数のPCAPファイルに分割し、ひとつひとつのPCAPのファイルサイズを抑えることにより、Wireshark上での解析をスムーズに行うことができます。

これにはWiresharkに同梱されているコマンドラインツールのひとつである”editcap.exe”を用いることにより、既存のPCAPファイルを複数個のPCAPファイルに分割することが可能です。今回の今回の「Wireshark使いこなしTips」では、このeditcap.exe を使用し、ファイスサイズの大きなPCAPファイルを複数個のPCAPファイルに分割し、Wireshark上での解析作業をより快適に行っていただく方法についてご紹介します。

 editcapコマンドのありか

Wiresharkをインストールすると、Wiresharkがインストールされているディレクトリと同じディレクトリ内にいくつかの*.exeファイルが存在しており、そのうちのひとつにeditcap.exeがあります。(Figure 1)

Figure 1

 editcap.exeとファイル分割のためのコマンドオプションの使い方

editcap.exeには各種のコマンドオプションが用意されていますが、今回はPCAPファイルをいくつかに分割する際に使用するコマンドオプションである –cに着目して解説します。editcap.exeで -cのコマンドオプションを使用する際には、下記の文法に則ってコマンドを実行します。

editcap-c

editcap-c <分割時の1ファイルあたりのフレーム数> <分割したいキャプチャファイルが存在するディレクトリとキャプチャファイル名> <分割後のファイルを置きたいディレクトリとその際のキャプチャファイル名>

 使ってみましょう

それでは実際にeditcap.exeを–cのコマンドオプションと共に使ってみましょう。

ここではサンプルのPCAPファイルとして、Wiresharkで提供されているダウンロード可能なサンプルキャプチャファイル(https://wiki.wireshark.org/SampleCaptures)から、SIP_CALL_RTP_G711 (Sample SIP call with RTP in G711)を利用します。このファイル自体は決して大きなファイルサイズではなく、そのままWiresharkファイルを開いても何ら解析に支障はありませんが、ここではeditcap.exeによるPCAPファイルの分割のしかたを解説する目的で、このサンプルキャプチャファイルを使用します。

WiresharkでSIP_CALL_RTP_G711のPCAPファイルを開き、ファイルの最後までスクロールしてみると、このファイルには全部で4,269個のイーサネットのフレームが含まれていることが確認できます。(Figure 2)

Figure 2

ここでは例として、

  • c:\demoのディレクトリ内にSIP_CALL_RTP_G711のPCAPファイルが存在し、
  • このファイルを1,000フレームずつのPCAPファイルに分割することとし、
  • また、分割後のファイルは同じディレクトリ内に生成し、
  • その際のファイル名にはSIP_CALL_RTP_G711_afterのファイル名を含むこと

とします。ここでは例としてオリジナルのファイル名に_afterをつけることにより、分割後の様子がわかりやすいようにしています。

先の文法に則り、DOSのコマンドプロンプト画面上でファイルを分割するコマンドを実行してみましょう。上記の要件をコマンドで実行すると、下記の通りとなります。(Figure 3)

Figure 3

Figure 3のコマンド実行後は、C:\demoのディレクトリ内には、オリジナルのSIP_CALL_RTP_G711ファイルが、SIP_CALL_RTP_G711_afterをファイル名に含む全部で5つのファイルに新たに分割・生成されていることが確認できます。最初の4つの各々のファイルには、フレームが1,000個ずつ含まれ、最後のファイルには残りの269個のフレームが含まれまることになります。(Figure 4)

Figure 4

 パケットの数を確認するコマンド:capinfos

Wiresharkには、editcapコマンド以外にも様々な便利なコマンドが同梱されており、そのうちのひとつにcapinfos.exeがあります(Figure 1)。このコマンドは、コマンドで指定するPCAPファイル内に含まれるイーサネットのフレーム数を表示します。capinfos.exeを用いて、先の例で分割された一番目のPCAPファイルと一番最後のPCAPファイルに含まれているイーサネットのフレーム数を確認してみましょう。(Figure 5)

Figure 5

このように、分割後の最初のPCAPファイルには1,000個のフレームが、そして分割後の最後のPCAPファイルには、269個のフレームが含まれていることが確認できました。このように、各PCAPに含まれるフレーム数をコマンドベースで確認することが可能です。

最後にeditcapコマンドには、今回ご紹介した –c のコマンドオプション以外にも、時間を範囲指定することによってPCAPファイルを取り出すコマンドオプション(-A / -B)なども用意されています。 Wiresharkでは、Figure 2でおなじみの解析画面の他にも、今回ご紹介したような各種のツールが同梱されており、これらをお使いいただくことにより、PCAPのファイルサイズをうまく調節することができ、Wireshark上での解析作業をより快適に行なっていただくことが可能です。

アルチザネットワークスが自社で開発した、10GbE/1GbE Full-Duplex(双方向)上で転送されるワイヤーレートの最短パケット(64バイト)の連続キャプチャを保証するパワフルなキャプチャ製品etherExtractorで取得した貴重なPCAPファイルを、Wireshark上で快適に、そして便利に解析いただくためのさまざまなヒントや利用方法を、今後も「Wireshark使いこなしTips」のコーナーで多角的にご紹介してまいります。

5G gNodeB and eNodeB Tester

Fronthaul Monitor

Packet Capture Tool

High-end FPGA Board

Test & Measurements

Network Analyzers

Network Visualization

Ethernet Switch

Packet Timing Solutions

LTE eNodeB Tester