TOP

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

Wireshark使いこなしTips

第3回:表示フィルタを使いこなす

表示フィルタを使いこなす : Wiresharkをより快適に使用

パケットのキャプチャを伴うネットワークの解析およびトラブルシューティングの現場においては、

  • パケットのキャプチャを伴うネットワークの解析およびトラブルシューティングの現場においては、etherExtractorのようなキャプチャ専用機でパケットロスすることなく、とりあえずすべてしっかりキャプチャし・・・
  • その後はWiresharkの表示フィルタ機能を利用して、解析の対象となる特定のパケットのみを絞り込んで表示させ、報告用のデータとして保存しておきたい

といった流れでの作業がよく行われます。
そこで今回のWireshark Tipsでは、Wiresharkの表示フィルタ機能に着目し、膨大なキャプチャデータの中から、解析のターゲットとなるパケットを絞り込む際に使用する表示フィルタ機能とその代表的な使い方について解説します。

表示フィルタの設定を行う際には、次の2通りの方法があります。

条件入力欄に表示フィルタ条件を直接入力する

  • 表示フィルタの条件入力欄に、下記の例で示すような表示フィルタの書式に則り直接入力します。
  • 下記の例で示すような比較的短い表示フィルタの条件を入力する際に便利です。

「表示フィルタ式」ウィンドウから条件を設定・入力する

  • 「表示フィルタ式」ウィンドウを起動し、ウィザード形式のような操作で表示フィルタ条件の設定を行うことが可能です。
  • 複雑なフィルタの書式の条件の入力を誤りなく行う際に便利です。

それではサンプルのPCAPファイルを用いながら、これら2つの方法について解説します。今回も前回のWireshark使いこなしTips同様、使用するサンプルのPCAPファイルとして、Wiresharkで提供されているダウンロード可能なサンプルキャプチャファイル(https://wiki.wireshark.org/SampleCaptures)から、SIP_CALL_RTP_G711.pcap (Sample SIP call with RTP in G711)を利用します。

表示フィルタの設定方法
1.条件入力欄に表示フィルタ条件を直接入力する

Figure 1のWiresharkのメイン画面の上部にある表示フィルタの条件入力欄(図中の赤枠内)に、下記で示すような表示フィルタの書式入力例に則って条件を入力します。条件入力後は入力欄の右端にある右向き矢印キーをクリックするか、またはEnterキーを押すことにより実行します。

Figure 1

表示フィルタの書式入力例

代表的な表示フィルタの書式入力例を下記のa) ~ e)に示します。表示フィルタの条件入力欄に条件を入力する際には、下記のような要領で入力します。なお、フィルタ条件を入力する際には、下記の書式入力例で示す通り、半角小文字を使用します。

a) 特定のアドレス(MACアドレス、IPアドレス)を含むパケットのみを表示したい

  • eth.addr==00:03:ba:94:63:3e (MACアドレスに00:03:ba:94:63:3eを含むパケットを表示)
  • ip.addr==200.57.7.197 (IPv4アドレスに200.57.7.197を含むパケットを表示)

b) 特定のプロトコルを含むパケットのみを表示したい

  • http (HTTPを含むパケットを表示)
  • tcp (TCPを含むパケットを表示)

c) 特定のTCP/UDPポート番号を含むパケットのみを表示したい

  • tcp.port==80 (TCPポート番号に80(HTTP)を含むパケットを表示)
  • udp.port==161 (UDPポート番号に161(SNMP)を含むパケットを表示)

d) AND条件で絞り込み表示したい

  • ip.addr==200.57.7.197 and ip.addr==200.57.7.204 (IPv4アドレスが200.57.7.197および200.57.7.204のパケットを表示)
  • ip.addr==200.57.7.197 and tcp (IPv4アドレスが200.57.7.197でTCPを含むパケットを表示)

e) OR条件で絞り込み表示したい

  • sip or http (SIPまたはHTTPを含むパケットを表示)

表示フィルタの書式が正しく入力された場合には フィルタ条件の入力欄の背景色がデフォルト設定ではFigure 1の赤枠内のように緑色になりますが、表示フィルタの書式に何らかの誤りがあったり、Wiresharkではサポートされていない無効なフィルタ条件であった場合には、フィルタ条件の入力欄の背景色がデフォルト設定では薄いオレンジピンク色に変化します。

表示フィルタの設定方法
2.「表示フィルタ式」ウィンドウからの条件入力

「表示フィルタ式」ウィンドウを利用すると、ウィザード形式のような操作で表示フィルタ条件の設定を行うことが可能です。「表示フィルタ式」ウィンドウを起動するには、Figure 2のWiresharkのメイン画面の上部の表示フィルタの条件入力欄の右にある「書式・・・」ボタンをクリックします(Figure 2右上の赤枠内)。クリック後は、Figure 3のような「表示フィルタ式」ウィンドウが表示されます。

Figure 2

Figure 3

それでは実際に「表示フィルタ式」ウィンドウ上で、表示フィルタ条件の入力を試みてみましょう。
ここでは例として、SIPのRequest-Lineに”bestel.com”というドメインが含まれているパケットのみを絞り込んで表示する際の設定手順について説明します。

  1. まず最初に、対象となるプロトコルを選択します。ここではまず、「フィールド名」の欄から”SIP – Session Initial Protocol”を表示し、さらに、ツリー形式のGUIから、”sip.Request-Line”をハイライト表示します(Figure 4)。 このように、フィールド名の欄内では、Wiresharkでサポートされているプロトコルがあらかじめアルファベット順にリスト化されており、さらにツリー形式のGUIから、各々のプロトコルのフィールド名があらかじめリスト化されていますので、この中から条件を選択するだけで複雑なフィルタの書式の条件入力を誤りなく行う際に便利です。
  2. 次に、右上の「リレーション」の欄から、関係演算子を選択します。ここでは特定のドメイン名の文字列が含まれているパケットのみを表示させるため、関係演算子として”contains”を選択します(Figure 4)。
  3. 続いて、その下の「値」の欄にフィールド値を入力します。ここでは”bestel.com”と入力します(Figure 4)。
  4. すると、画面下のフィルタ条件の書式欄の背景色が緑となり、フィルタ条件の書式として、 sip.Request-Line == "bestel.com"が自動的に生成されました(Figure 4)。
  5. 最後にOKボタンを押すと、Wiresharkのメイン画面が表示され、同メイン画面の上部にある表示フィルタの条件入力欄に、sip.Request-Line == "bestel.com"が反映されていることが確認できます(Figure 4およびFigure 5)。

Figure 4

Figure 5

設定された表示フィルタ条件で絞り込み表示を行うには、表示フィルタ条件入力欄の右端にある右向き矢印キーをクリックするか、またはEnterキーを押します(Figure 5)。 この表示フィルタ条件を実行すると、Figure 6の通り、SIPのRequest-Lineに”bestel.com”というドメインが含まれているパケットのみが表示されました。

Figure 6

表示フィルタの設定に関するヒントとサンプル

WiresharkのWikiサイト上には、表示フィルタに関する解説ページ(https://wiki.wireshark.org/DisplayFilters)が設けられており、様々な表示フィルタの書式とその設定例が掲載されていますので、これらをヒントとして活用するのもよいでしょう(Figure 7)。

Figure 7

最後に

アルチザネットワークスの自社開発製品であるetherExtractorは、10GbE/1GbE Full-Duplex(双方向)上で転送されるワイヤーレートの最短パケット(64バイト)の連続キャプチャを保証し、ネットワーク上で生じるさまざまな事象の全てをパケットロスすることなくキャプチャを実行するパワフルなキャプチャ専用機です。実際にキャプチャを実行してみると、意外に多くの不必要なデータがキャプチャされていることに気づきます。一旦すべてキャプチャした後は、今回ご紹介した方法により、解析の対象となる特定のパケットのみをWireshark上で取り出して、客先への報告用などに別のPCAPファイルとして保存していただくことが可能です。

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