Windows TIPS
[Network]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

ネットワーク・モニタ3.0の表示フィルタを活用する

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2007/03/09
 
対象OS
Windows XP
Windows Server 2003
Windows Vista
フィルタ機能を活用すると、特定の条件に合致するプロトコルだけをキャプチャしたり、表示したりできる。
ネットワーク・モニタ3.0のフィルタでは、DNS OR ICMPやTCP.PORT==1234といった、自由形式の式を利用する。
 
解説

 TIPS「ネットワーク・モニタ3.0を使う(基本編)」では、新しく利用可能になったネットワーク・モニタ3.0のインストールと簡単な利用法について解説した。ネットワーク・モニタ3.0には多くの機能があるが、本TIPSでは、「表示フィルタ」の利用方法について解説する。ネットワーク・モニタでパケットをキャプチャすると、そのコンピュータから送受信されているすべてのパケット(およびブロードキャスト・パケット)がキャプチャされ表示されるが、これでは目的外のパケットまで表示され、目的のプロトコルに注目するのが困難なことがある。特にサーバ・コンピュータや、リモート・デスクトップを利用している場合は、定常的に多くのパケットが流れていることが多く、必要なパケットを見つけるのが難しい。

 このような場合は、「フィルタ」機能を利用して、特定の通信だけを取り出してキャプチャしたり、表示させるとよい。フィルタにはキャプチャ時に利用できるキャプチャ・フィルタと、表示時に利用できる表示フィルタの2種類があるが、本TIPSでは表示フィルタの利用方法について解説する。表示フィルタは、バッファに格納されているパケットのうち、条件に合致するものだけを表示するために利用される。キャプチャ・フィルタと違い、フィルタの内容を切り替えたり、オフにすれば、すぐにほかの(元の)キャプチャ・データを確認できるので便利である。特にネットワーク・モニタ3.0ではリアルタイム・キャプチャ機能が用意されたため、キャプチャできるパケットの総数も多くなりがちである。適切な表示フィルタを設定しないと、表示されるパケット数が膨大になり、操作が非常に煩わしくなるので、ぜひ活用していただきたい。以前のバージョンのフィルタよりも機能や操作性が改良され、使いやすくなっている。

操作方法

 ネットワーク・モニタ3.0を起動し、パケットのキャプチャを開始すると(最上部のツール・バーにある[Start Capture]ボタンをクリックする)、デフォルトでは次のような画面が表示され、パケットのキャプチャと解析結果が自動的に表示される。

表示フィルタの指定
表示フィルタを指定すると、条件にあったパケットだけを表示させることができる。
  キャプチャごとに表示フィルタを設定できる。
  フィルタ・ペイン。
  表示フィルタ式の入力欄。
  キャプチャ・フィルタ。
  表示フィルタ。
  表示されたパケット。これはフィルタ未適用の状態。キャプチャされた全パケットが表示されている。

 この画面のうち、右側の一番上のペインに表示されているのがキャプチャ・フィルタおよび表示フィルタの設定である。デフォルトでは表示フィルタ・タブがアクティブになっているはずだが、そうでなければ[Display Filter]タブをクリックする。

 ネットワーク・モニタ3.0のフィルタは、従来と違って、コマンド文字列(フィルタ・エクスプレッション、フィルタ“式”)を直接入力して指定できるようになっている。慣れたユーザーならば、従来のGUIベースのフィルタ設定よりも素早く設定できる。

フィルタ式の入力

 フィルタ式の書式は簡単である。例えばDNSプロトコルだけを表示したければ、表示フィルタのフィールドに「DNS」とだけ入力すればよい(小文字でもよい)。しかしプロトコル名が分からない場合は、次の画面のように[Load Filter]ボタンをクリックすると、[Standard Filters]というメニューが表示されるので、そこから選ぶ(これらのプロトコルはネットワーク・モニタ3.0の起動時に読み込まれたネットワーク・プロトコル言語ファイル中で定義されている)。

表示フィルタの自動入力例
表示フィルタとしてDNSプロトコルを入力しようとしているところ。
  この[Load Filter]ボタンをクリックして、デフォルトのプロトコルや、ユーザーが定義して保存しておいたプロトコルをロードする。
  デフォルトのプロトコルをロードするにはこれを選択する。
  [DNS]を選択する。

 メニューから入力すると、次のようになる。

入力された表示フィルタ。
ネットワーク・モニタ3.0のフィルタの書式は、一般のコンピュータ言語における「式」のように、自由書式であり、コメントも記入できる。
  先頭が「//」の行はコメント行。行末まで何を書いてもよい。コメント行は緑色で表示される。
  フィルタ式の本体。黒色で表示される。
  [History]ボタン。過去に入力したフィルタ式を簡単に呼び出せる。
  [Load Filters]ボタン。デフォルトのフィルタ式や保存したフィルタ式を呼び出す。
  [Export Current Filter]ボタン。入力欄にあるフィルタ式をファイルに保存する。
  [Verity Filter]。入力されたフィルタ式が正しいかどうかをチェックする。チェック結果は の場所にアイコンで表示される。
  [Clear Filter]。入力欄のクリア。
  [Apply Filter]/[Remove Filter]。フィルタの適用のオンとオフ。

 先頭が「//」の行はコメントである。ユーザーが手動でフィルタ式を入力する場合にはコメントは不要だが、長い式の場合には後で分かりやすくなるので(この式はファイルに保存しておいて、後でロードできる)、付けておくとよいだろう。

 フィルタを定義すれば、その内容をチェックして、適用してみよう。チェックとは、フィルタ式が文法的に正しいかどうかを調べることである。簡単な式ならチェックは不要だが、複雑な条件を記述した場合はチェックするのが望ましい。チェックするには上の画面のをクリックする。内容がOKならば、の位置にOKマークが表示されるので、それを確認後、[Apply Filter]ボタン()をクリックしてフィルタを適用する。

複数の条件の指定

 以上はDNSプロトコルすべてを表示させる設定であったが、ORやAND演算子を使って(||や&&も利用可)、より複雑な条件を指定することもできる。例えば「DNS OR ICMP」とすればDNSかICMPプロトコルのいずれか(DNSとICMPの両方)に合致するパケットだけが表示される。

 さらに括弧を使って式をグループ化したり、!演算子で否定したり(!DNSなら、DNS以外すべてという意味)、==(等しい)や!=(等しくない)、<(少ない)、>(多い)という演算子も利用できる。例えば「!(DNS OR ICMP)」ならば、DNSでもICMPでもないパケットとなる。

 また「TCP.port == 123」のように、「.」記号に続けてプロパティを指定すると、特定の条件に合致するプロトコルだけにマッチさせることができる。この例ではTCPの通信のうち、あて先ポート番号かソース・ポート番号のいずれかが123番のTCPプロトコル・パケットだけが表示される。

 なお、プロパティ値の手動入力時には、自動的に利用可能なプロパティ名がポップアップ表示されるので、そこから選んでもよい。

プロパティ名の自動補完
プロトコル名に続いて「.」を入力すると、指定可能なプロパティが自動的にメニューとして表示される。
  「tcp.」と入力したところ。
  「tcp.」の直後に指定可能なプロパティ名がメニューとして表示される。Visual StudioのIntelliSense機能のようなもの。

そのほかの例

 以上の書式を組み合わせれば、より複雑なフィルタ式や、特定の通信だけを取り出すようなフィルタが作成できる。1度作成したフィルタは保存しておいて後で再利用することもできるし、条件に合致するパケットの色を変えて表示させるという使い方もできる([Frames]−[Color Filters]メニューで保存しておいたフィルタ・ファイルを指定する)。

 以下に、いくつかのフィルタの例を挙げておく。

意味
Ethernet.DestinationAddress == Broadcast ブロードキャスト通信
IPv4.Address == 192.168.0.102 IPアドレス192.168.0.102のホストとの通信
IPv4.Address == 192.168.0.102 || IPv4.Address == 192.168.0.110 IPアドレス192.168.0.102もしくは192.168.0.110のホストとの通信
Tcp.Port != 3389 and Tcp.Port != 1745 リモートデスクトップ通信(Standard FiltersでTerminalServerを指定すると自動入力される)
Contains(Http.Request.URI,"server") URLやURIに「server」という文字列を含むもの
Tcp.Flags.Syn TCPでSYNフラグがオンになっているパケット
!EAPOL and !EAP and !GRE and !PPTP and !PPP RASではないパケット
フィルタ式の例

 これら以外にもよく使われる例があるが、詳しくはネットワーク・モニタ3.0のヘルプなどを参照していただきたい。End of Article

関連記事(Windows Server Insider)
Windowsネットワーク・プロトコルの理解と検証(運用)
 
「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間