技術Tips
第2回:特定のパケットのみを抽出する方法
特定のパケットのみを抽出、別のPCAPファイルとして保存 : Wiresharkをより快適に使用
etherExtractorでは、パケットを取り込む時点で様々なフィルタ機能を活用したり、PCAPファイルに出力する際のファイルサイズを指定することにより、本来の解析の対象以外の無駄なトラフィックを排除したり、出力されるPCAPのファイルサイズをあらかじめ抑えることができます。
その一方で、ネットワークのトラブルシューティングの現場では、
といったケースもあります。この操作のメリットとしては、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.表示フィルタを使い、SIPパケットのみを抽出する
SIP_CALL_RTP_G711.pcapには、合計で4,269個のイーサネット・パケットが含まれていますが、この中から表示フィルタを使い、SIPパケットのみを抽出・表示します。これには、Figure 1のWiresharkのメイン画面の上部にある表示フィルタの条件入力欄(図中の赤枠内)に「sip」と入力しエンターキーを押して実行するか、表示フィルタ条件入力欄の右端にある右向き矢印キー(図の赤枠内)をクリックして実行します。
表示フィルタでは、プロトコル以外にも様々なパラメータおよび条件(例:MACアドレス、IPアドレス、プロトコルなどによる表示フィルタの実行、およびこれらのOR条件およびAND条件との組み合わせによる表示など)で表示フィルタを使用することが出来ます。表示フィルタの書式が正しく入力された場合には フィルタ条件の入力欄の背景色がデフォルト設定では図の赤枠内のように緑色になりますが、表示フィルタの書式に何らかの誤りがあったり、Wiresharkではサポートされていない無効フィルタ条件であった場合には、フィルタ条件の入力欄の背景色が薄いオレンジピンク色に変化します(これらの色は「編集」→「設定」→「外観」→「フォントと色」でカスタマイズ可能です)。(Figure 1)
上記の操作により、SIPプロトコルによる表示フィルタ実行後には、Figure 2のように当初の4,269個のパケットから14個のSIPプロトコルを含むパケットに絞り込むことが出来ました。
2.「ファイル」→「指定したパケットをエクスポート」を選択。必要に応じて詳細なエクスポート条件を設定
表示フィルタによってSIPパケットのみを抽出し、これを別のPCAPとして保存するには、図の画面から「ファイル」→「指定したパケットをエクスポート」を選択します。すると、「Export Specified Packets(指定したパケットをエクスポート)」画面(Figure 3)が表示されます。
同画面左下にある「Packet Range」(図の赤枠内)について見てみましょう。ここでは、表示フィルタで絞り込んだ計14個のパケット(「Displayed」の欄に ●印あり)に対し、別のPCAPファイルとして出力する際の設定・操作を行うことが出来ます(Figure 4)。
「Packet Range」では、下記の設定が可能です。
ここでは、表示フィルタで絞り込まれた全14個のパケットのすべてを別のPCAPとして保存することとします(Figure 4の通り、「All packets」を選択)。
3.ファイル名をつけて保存
ここでは例として、デスクトップ上に予め設定した「test」のフォルダに、「sip_only」というファイル名で保存します(Figure 5の赤枠内)。
これでSIPパケットのみに着目したデータが、sip_only.pcapのファイル名で別ファイルとして保存されます。オリジナルのPCAPファイルのSIP_CALL_RTP_G711.pcapとファイルサイズを比較してみると、不要なパケットを排除して別ファイルとして保存したことにより、PCAPのファイルサイズがかなり抑えられて保存されていることが確認できます(Figure 6)。
最後に
アルチザネットワークスの自社開発製品であるetherExtractorは、10GbE/1GbE Full-Duplex(双方向)上で転送されるワイヤーレートの最短パケット(64バイト)の連続キャプチャを保証し、ネットワーク上で生じるさまざまな事象の全てをパケットロスすることなくキャプチャを実行するパワフルなキャプチャ専用機です。また同機に搭載されているパケットを取り込む時点で利用可能な様々なフィルタ機能を活用したり、PCAPファイルに出力する際のファイルサイズを指定することにより、本来の解析の対象以外の無駄なトラフィックを排除したり、出力されるPCAPのファイルサイズをあらかじめ抑えることが可能ですが、実際にキャプチャを実行してみると、意外に多くの不必要なデータがキャプチャされていることがあります。
一旦すべてキャプチャした後は、今回ご紹介した方法により、解析の対象となる特定のパケットのみをWireshark上で取り出して、客先への報告用などに別のPCAPファイルとして保存していただくことが可能です。
etherExtractorで取得した貴重なPCAPファイルを、Wireshark上で快適に、そして便利に解析いただくためのさまざまなヒントや利用方法を、今後も「Wireshark使いこなしTips」のコーナーで多角的にご紹介してまいります。