Wiresharkには2種類の「 フィルタ 」があります。それは特定のトラフィックだけをキャプチャする「キャプチャフィルタ」と、指定した条件に合致した特定のトラフィックだけが表示される「ディスプレイフィルタ」です。
ここでは、ディスプレイフィルタの設定方法について説明します。説明の対象とするのは、表示される次のFilterツールバーです(Version 1.10.8 )。
表示 | 説明 |
---|---|
Filter | パケットをフィルタするには、フィルタ画面の「Filter:」を押して、Wireshark Display Filter」ウインドウを立ち上げ、条件式を入力する。 |
入力欄 | ここに条件式を入力する。 |
Expression… | 「Filter string」欄に入力するフィルタの書式が良く分からない人は、このボタンにより、ウィザード形式でフィルタが作成できる |
Clear | 表示フィルタの条件式をクリアする。クリアすると、全パケットが表示される。 |
Apply | 条件式を適用する。条件に合致するパケットだけが抽出され、表示される。条件式を入力後、[Enter]キーを押してもよい。 |
Save | 条件式を保存する |
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ボタンを押すと、次に示すウィザード形式でフィルタを作成することが可能です。
例として「送信元IPアドレスが192.168.1.1」というフィルタを作成します。
- まず、「Field name」欄から「IP」を選択します。すると、さらに細かな選択欄が表示されます。
- ここで、今回は「送信元IPアドレス」を指定しますので、「ip.src_host – Souce Host」を選択します。
- 続いて「Relation」欄は「==」を選択し、「Value」欄に「192.168.1.1」を入力し、「OK」を押します。
- すると、「Wireshark Display Filter」ウインドウの「Filter string」欄に自動でフィルタ定義が入力されます。
- 後は、「Filter name」欄に好きな名前を入力し、「New」ボタンを押せば保存できます。