TOP

製品・ソリューション
ネットワーク機器

Wireshark使いこなしTips

第2回:特定のパケットのみを抽出する方法

特定のパケットのみを抽出、別のPCAPファイルとして保存 : Wiresharkをより快適に使用

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

  • ネットワーク上で生じるさまざまな事象を、パケットロスすることなく、とりあえずすべてキャプチャ専用機でしっかりキャプチャしておきたい
  • キャプチャ専用機ですべてキャプチャした後は、Wireshark上で解析の対象となる特定のパケットのみを取り出して、客先への報告用のデータとして保存しておきたい

といったケースもあります。この操作のメリットとしては、Wireshark上で特定のパケットにのみ着目することにより、不要なパケットを排除することができると共に、Wireshark上での操作をより快適に行うことが出来ます。これはキャプチャファイルのサイズが大きい場合に特に有効です。

そこで今回のWireshark使いこなしTipsでは、一旦取得したPCAPファイルの中から、解析の対象となる特定のパケットのみを抽出して、別のPCAPファイルとして保存する際の操作について解説します。

今回も前回のWireshark使いこなしTips同様、使用するサンプルのPCAPファイルとして、Wiresharkで提供されているダウンロード可能なサンプルキャプチャファイル(https://wiki.wireshark.org/SampleCaptures)から、SIP_CALL_RTP_G711.pcap (Sample SIP call with RTP in G711)を利用します。ここでは特定パケットの抽出の例として、客先への報告用にSIP(Session Initiation Protocol)に着目し、SIPパケットのみを抽出して、別のコンパクトなPCAPファイルとして保存することとします。

全体の作業の流れとしては:

  1. PCAPファイルを開いた後、Wireshark上の表示フィルタを使い、SIPパケットのみを抽出
  2. Wireshark上で、「ファイル」→「指定したパケットをエクスポート」を選択。必要に応じて詳細なエクスポート条件を設定
  3. ファイル名をつけて保存

となります。

それでは上記のステップに従い、早速試してみましょう。

 1.表示フィルタを使い、SIPパケットのみを抽出する

SIP_CALL_RTP_G711.pcapには、合計で4,269個のイーサネット・パケットが含まれていますが、この中から表示フィルタを使い、SIPパケットのみを抽出・表示します。これには、Figure 1のWiresharkのメイン画面の上部にある表示フィルタの条件入力欄(図中の赤枠内)に「sip」と入力しエンターキーを押して実行するか、表示フィルタ条件入力欄の右端にある右向き矢印キー(図の赤枠内)をクリックして実行します。

表示フィルタでは、プロトコル以外にも様々なパラメータおよび条件(例:MACアドレス、IPアドレス、プロトコルなどによる表示フィルタの実行、およびこれらのOR条件およびAND条件との組み合わせによる表示など)で表示フィルタを使用することが出来ます。表示フィルタの書式が正しく入力された場合には フィルタ条件の入力欄の背景色がデフォルト設定では図の赤枠内のように緑色になりますが、表示フィルタの書式に何らかの誤りがあったり、Wiresharkではサポートされていない無効フィルタ条件であった場合には、フィルタ条件の入力欄の背景色が薄いオレンジピンク色に変化します(これらの色は「編集」→「設定」→「外観」→「フォントと色」でカスタマイズ可能です)。(Figure 1)

Figure 1

上記の操作により、SIPプロトコルによる表示フィルタ実行後には、Figure 2のように当初の4,269個のパケットから14個のSIPプロトコルを含むパケットに絞り込むことが出来ました。

Figure 2

 2.「ファイル」→「指定したパケットをエクスポート」を選択。必要に応じて詳細なエクスポート条件を設定

表示フィルタによってSIPパケットのみを抽出し、これを別のPCAPとして保存するには、図の画面から「ファイル」→「指定したパケットをエクスポート」を選択します。すると、「Export Specified Packets(指定したパケットをエクスポート)」画面(Figure 3)が表示されます。

Figure 3

同画面左下にある「Packet Range」(図の赤枠内)について見てみましょう。ここでは、表示フィルタで絞り込んだ計14個のパケット(「Displayed」の欄に ●印あり)に対し、別のPCAPファイルとして出力する際の設定・操作を行うことが出来ます(Figure 4)。

Figure 4

「Packet Range」では、下記の設定が可能です。

  • All packets:表示フィルタで絞り込まれたパケットすべてを保存する(ここでは14個のパケットが対象となる)
  • Selected packet:カーソルで表示されているパケットのみを保存する(1パケットのみを保存)
  • Marked packets:マーク付けがされているパケットのみを保存する(パケット一覧画面上でマウスの右クリックで設定可)
  • First to last marked:最初にマーク付けされたパケットから、最後にマーク付けされたパケットの間のパケットを保存する(レンジ指定)
  • Range:パケットの番号を指定し、保存したいパケットを指定します(例:3, 5-7(レンジ指定))
  • Remove Ignored packets:PCAPファイル出力時に、「パケットを無視」(パケット一覧画面上でマウスの右クリックで設定可)の指定をしたパケットを含めない。

ここでは、表示フィルタで絞り込まれた全14個のパケットのすべてを別のPCAPとして保存することとします(Figure 4の通り、「All packets」を選択)。

 3.ファイル名をつけて保存

ここでは例として、デスクトップ上に予め設定した「test」のフォルダに、「sip_only」というファイル名で保存します(Figure 5の赤枠内)。

Figure 5

これでSIPパケットのみに着目したデータが、sip_only.pcapのファイル名で別ファイルとして保存されます。オリジナルのPCAPファイルのSIP_CALL_RTP_G711.pcapとファイルサイズを比較してみると、不要なパケットを排除して別ファイルとして保存したことにより、PCAPのファイルサイズがかなり抑えられて保存されていることが確認できます(Figure 6)。

Figure 6

最後に

アルチザネットワークスの自社開発製品であるetherExtractorは、10GbE/1GbE Full-Duplex(双方向)上で転送されるワイヤーレートの最短パケット(64バイト)の連続キャプチャを保証し、ネットワーク上で生じるさまざまな事象の全てをパケットロスすることなくキャプチャを実行するパワフルなキャプチャ専用機です。また同機に搭載されているパケットを取り込む時点で利用可能な様々なフィルタ機能を活用したり、PCAPファイルに出力する際のファイルサイズを指定することにより、本来の解析の対象以外の無駄なトラフィックを排除したり、出力されるPCAPのファイルサイズをあらかじめ抑えることが可能ですが、実際にキャプチャを実行してみると、意外に多くの不必要なデータがキャプチャされていることがあります。

一旦すべてキャプチャした後は、今回ご紹介した方法により、解析の対象となる特定のパケットのみをWireshark上で取り出して、客先への報告用などに別のPCAPファイルとして保存していただくことが可能です。

etherExtractorで取得した貴重なPCAPファイルを、Wireshark上で快適に、そして便利に解析いただくためのさまざまなヒントや利用方法を、今後も「Wireshark使いこなしTips」のコーナーで多角的にご紹介してまいります。