Wiresharkでパケットをキャプチャすると、多くのパケットが表示され、目的のパケットが探しにくいことがある。そんな場合は表示フィルタでパケットを絞り込む。特定のプロトコルだけを表示させるには、表示フィルタの条件式にプロトコル名を指定する。
対象ソフトウェア:Wireshark
TIPS「Wiresharkで特定の通信セッションだけを抽出して表示する」では、フリーの高機能なネットワーク・プロトコル・アナライザであるWiresharkを使って、特定のTCPやUDPのセッションの内容を簡単に追跡して確認する方法について解説した。本TIPSでは、解析対象のパケットを限定する別の方法として、表示フィルタを利用する方法を紹介する。
表示フィルタは、キャプチャされた多数のパケットの中から、特定の条件を持つものだけを選択して表示する機能である。特定のノード(IPアドレス)から送受信されているパケットだけを取り出したり、特定の通信ポートやプロトコルだけに注目して解析したりする場合などに役に立つ。表示フィルタではさまざまな条件を指定できるが、本TIPSでは特定のプロトコルだけを取り出す方法について紹介する。より複雑な条件式の使い方については今後別TIPSで紹介する。
Wiresharkを起動すると、上部のツール・バーの表示フィルタを設定する場所がある(次の画面の(1)参照)。ここに条件式を入力すれば、特定の条件を満たす通信パケットだけを抽出できる。
表示フィルタに入力できる条件式にはいくつかのタイプがあるが、大まかにいって、次のようなものがある。
ここでは、プロトコル名をベースにする方法を紹介する。IPアドレスなどを条件にする方法は、今後TIPSで紹介する。
表示フィルタで特定のプロトコルだけを抽出する方法は非常に簡単である。入力欄にそのプロトコル名を入力して、[Enter]キーを押せばよい。あらかじめ対象となるプロトコル名が分かっているなら、これが最も簡単である。例えばARPプロトコルだけを抽出したければ入力欄に「a」「r」「p」と入力して、[Enter]キーを押す。なおWiresharkにはインタラクティブな条件式の構文チェック機能があり、1文字入力するたびに判定が行われる。入力欄が空の場合はその背景は白色だが、文字を入力するにつれ、式が有効ならば「緑」に、式が無効(入力途中)ならば「赤」に変わる。「arp」と入力している場合は、「a」「r」と入力した時点では背景は赤いが、「p」まで入力すると背景が緑に変わるので、そこで[Enter]キーを押せばよい。
通常は、1つのパケットの中には複数のプロトコルが階層的に含まれているが、指定するのはそのいずれのプロトコル名でもよい。例えばSMB(Windowsネットワークにおける標準的なファイル共有のためのプロトコル)を含むパケットなら、IPやTCP、UDP、SMB、NetBIOSなどでもマッチする可能性がある(詳細については連載 基礎から学ぶWindowsネットワークの第20回「ファイル共有プロトコルSMB/CIFS」などを参照)。
より限定したければ、複数のプロトコル名を組み合わせた式を指定すればよい。表示フィルタの条件式では、単なるプロトコル名だけでなく、それらを「and」や「or」「not」演算子を使って組み合わせることもできる(それぞれ「&&」「||」「!」という記号で代用可)。また括弧記号を使って、より複雑な条件式にしてもよい。
例えばSMBプロトコルはTCP上にもNetBEUI上にも実装されているが、「smb and tcp」とすればTCPを使ったSMBプロトコルだけを抽出できるし、「smb && !tcp」もしくは「smb and netbios」などとすればNetBEUI上のSMBプロトコルを抽出できる。通常DNSはUDP上で利用されるが、「dns and tcp」とすれば(TCPが使われている)DNSのゾーン転送パケットを取り出すことができる。
表示フィルタで指定できるプロトコル名は、Wiresharkがプロトコルとして認識しているものなので、MS-RPC上でやり取りされている、例えばWINREGやSRVSVC、WKSSVCサービスだけを抽出するといったこともできる。以下に、条件式で指定可能な、Windowsネットワーク関連でよく使われるプロトコルを挙げておく。
名前 | プロトコル/内容 |
---|---|
netbios | NetBEUIプロトコル。SMBはNetBEUIやTCP/IP上に実装されている |
nbns | NetBIOS名前サービス |
nbss | NetBIOSセッション・サービス |
nbdgm | NetBIOSデータグラム・サービス |
smb/smb2/smb_netlogon | Server Message Block。Windowsネットワークにおける基本的なファイル共有プロトコル |
browser | ブラウザ・サービス |
mailslot | メールスロット |
pipe | 名前付きパイプ |
ldap | 軽量ディレクトリ・アクセス・プロトコル |
dcerpc | MS-RPC。詳細はTIPS「リモートの手続きを呼び出すMS-RPCとは?」参照 |
srvsvc | ファイル・サーバ・サービス。ファイルを公開する側のサービス |
wkssvc | ワークステーション・サービス。ファイルを利用する側のサービス |
winreg | リモート・レジストリ・サービス |
svcctl | サービス・コントロール・マネージャ |
srvloc | サービス・ロケーション(サービスの場所を検索する) |
winsrepl | WINS複製 |
Windowsネットワーク関連の主なプロトコル フィルタの条件式にこれらのプロトコル名を指定することにより、特定のプロトコルだけを抽出して表示できる。TPCやUDP、IP、DNSなど、一般的なプロトコルは省略している。詳細なプロトコルの一覧については、条件式ウィザードやWiresharkに付属のヘルプ・ファイルを参照していただきたい。 |
プロトコル名などが不明な場合は、条件式の入力ウィザードを使って式を入力すればよい。ツール・バー上にある[Express]ボタンをクリックすると、条件式を入力するためのウィザードが起動する。[Field name]からプロトコルを選んで[OK]ボタンをクリックすれば、そのプロトコルを表示するための式(プロトコル名)が自動的に入力される。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.