Wiresharkには2種類の「 フィルタ 」があります。それは特定のトラフィックだけをキャプチャする「キャプチャフィルタ」と、指定した条件に合致した特定のトラフィックだけが表示される「ディスプレイフィルタ」です。
ここでは、ディスプレイフィルタの設定方法について説明します。説明の対象とするのは、表示される次のFilterツールバーです(Version 1.10.8 )。

WiresharkのFilterツールバー

入力欄へのフィルタ設定
表示 説明
Filter パケットをフィルタするには、フィルタ画面の「Filter:」を押して、Wireshark Display Filter」ウインドウを立ち上げ、条件式を入力する。
入力欄 ここに条件式を入力する。
Expression… 「Filter string」欄に入力するフィルタの書式が良く分からない人は、このボタンにより、ウィザード形式でフィルタが作成できる
Clear 表示フィルタの条件式をクリアする。クリアすると、全パケットが表示される。
Apply 条件式を適用する。条件に合致するパケットだけが抽出され、表示される。条件式を入力後、[Enter]キーを押してもよい。
Save 条件式を保存する

Filter欄

ボタンを押すと次に示すダイアログが表示され、あらかじめよく使用されると思われるフィルタ定義が登録されています。

WiresharkのFilter欄

例えば、「TCP only」を選択して OK を押すと、TCP 通信のパケットのみがフィルタされて表示されます。

もちろん自分でフィルタ定義を作成することも可能です。

「Wireshark Display Filter」ウインドウを開いて、「Filter name」欄にフィルタを区別するための名前を入力し、「Filter string」欄にフィルタの内容を設定してから「New」ボタンを押せば追加できます。

入力欄

入力欄に入力できる表示フィルタの条件式にはいくつかのタイプがあり、大まかにいって、次のようなものがあります。

  • プロトコル名
  • パケット内の特定のフィールドやフラグなどが存在するかどうか
  • パケット内の特定のフィールドがある値を持つかどうか
  • パケット内の特定のフィールド同士の比較

 次に、IPアドレスやプロトコル名をベースにする方法を紹介します。、

入力欄へのフィルタ設定
説明
送信元で指定したIPアドレスであるパケットを表示 ip.src == Ipアドレス
宛先で指定したIPアドレスであるパケットを表示 ip.dst == Ipアドレス
送信元or送信先(宛先)が指定したIPアドレスであるパケットを表示 ip.addr == Ipアドレス
IPアドレス[1],[2]間のパケットを表示 ip.addr == Ipアドレス[1] && ip.addr == Ipアドレス[2]
HTTP or DNSプロトコル通信のパケットを表示 http or dns
ポート番号を指定したパケット表示 tcp.port == ポート番号
tcpパケットに指定した文字列が含まれるのパケットを表示 tcp contains 文字列
特定のIPアドレス以外の通信を表示 !(ip.addr == Ipアドレス)
送信元、送信先が指定したIPアドレスでかつ指定したプロトコル(SNMP)以外のパケットを表示 (ip.addr == Ipアドレス) && !(SNMP)
TCPの「SYN」パケットのみ表示 tcp.flags.syn == 1
TCPの「FIN」パケットのみ表示 tcp.flags.fin == 1
TCPの「RESET」パケットのみ表示 tcp.flags.reset == 1
TCPのソースポートを指定して表示 tcp.srcport == 80
TCPの宛先ポートを指定して表示 tcp.dstport == 80
port80番を除く、通信の開始(SYN)と終了(FIN)のパケットを表示 (tcp.flags.syn == 1 || tcp.flags.fin == 1) && !(tcp.port == 80)

Expression欄

Expressionボタンを押すと、次に示すウィザード形式でフィルタを作成することが可能です。

WiresharkのExpression欄

例として「送信元IPアドレスが192.168.1.1」というフィルタを作成します。

  1. まず、「Field name」欄から「IP」を選択します。すると、さらに細かな選択欄が表示されます。
  2. ここで、今回は「送信元IPアドレス」を指定しますので、「ip.src_host – Souce Host」を選択します。
  3. 続いて「Relation」欄は「==」を選択し、「Value」欄に「192.168.1.1」を入力し、「OK」を押します。
  4. すると、「Wireshark Display Filter」ウインドウの「Filter string」欄に自動でフィルタ定義が入力されます。
  5. 後は、「Filter name」欄に好きな名前を入力し、「New」ボタンを押せば保存できます。