TIPS:Wiresharkでネットワーク・プロトコルを解析する(基本操作編)ネットワークのトラブルシューティングでは、パケットをキャプチャして解析できると便利である。OS以外でも広く使われている。Wiresharkでは、MS-RPCプロトコルの内部も解析できる。・Windowsネットワーク・プロトコルの理解と検証(運用)ネットワークのトラブルシューティングでは、ネットワーク・ケーブル上を流れるパケットをキャプチャしてダンプ/解析する必要に迫られることがある。このような場面で役に立つのが、いわゆるネットワーク・プロトコル・アナライザと呼ばれるツールである。OS上では、マイクロソフトから提供されているネットワーク・モニタがよく使われる。その最新版であるネットワーク・モニタのVer.3.xはダウンロード・センターで提供されている。具体的な使い方についてはTIPS「ネットワーク・モニタ3.1を使う(基本編)」や、その関連TIPSを参照していただきたい。ネットワーク・モニタ以外にも多くのプロトコル・アナライザ・ソフトウェアがあるが、フリーで提供されていて、UNIXやLinux、Macなど、多くのプラットフォーム上で動作することから、Wiresharkというソフトウェアも広く普及している。これはもともとはEtherealという名前のソフトウェアであったが、2006年に名称変更して開発が続けられている。本TIPSではこのWiresharkのインストールと基本的な使い方について紹介する。Wiresharkサイト[英語]Wiresharkサイト長らくEtherealという名称で開発が続けられてきた、オープン・ソースでフリーのネットワーク・プロトコル・アナライザ・ソフトウェア。UNIXやLinux、Mac、WindowsなどさまざまなOS上で利用できる、高機能なツールである。ここをクリックすると、Windows版のWiresharkのインストール・ファイルがダウンロードできる。Wiresharkは、さまざまなOS上で動作するだけでなく、ウィンドウ・ベースのGUI画面のほか、コマンドライン・ベースでのキャプチャ、解析機能も持つ。ライブ・キャプチャ(キャプチャしながらの解析結果の表示)や数多くのプロトコルのサポート、カラフルで分かりやすいウィンドウ画面、多くのフォーマットをサポートしたキャプチャ・データのインポート/エクスポート(ネットワーク・モニタは.capファイルのみサポート)などの特長がある。OS以外のユーザーにはネットワーク・モニタよりもWiresharkの方が使いやすいかもしれない。Windowsネットワーク管理者の視点からいえば、MS-RPCプロトコルの内部(ネットワーク階層的にいえば、MS-RPC中を流れている、1つ上位のプロトコル)まで解析できる点が、ありがたい点だろうか(後述の例参照)。Now]ボタンをクリックすると自動的にダウンロードされる。2008年7月現在の最新版はVer.1.0.1である。入手したファイル(wireshark-setup-1.0.1.exeなど)をダブルクリックするとインストールが始まる。インストール・オプションは特にデフォルトのままで構わないだろう。ドライバ」に相当する。このように、Wiresharkではネットワーク・モニタ・ドライバは使わず、別のキャプチャ・ドライバを使用して、ネットワーク・パケットをキャプチャしている。Wiresharkのインストール・オプションの設定画面ユーザー・インターフェイスやインストールする各種のサブツールを選択する。通常はデフォルトのままでよいだろう。TsharkやRawsharkは、コマンド・プロンプト上などで利用するサブツールである。(1)ユーザー・インターフェイスのデザインの選択。Wiresharkでキャプチャ/解析するインストールされたWiresharkのアイコンをクリックすると、次のような初期画面が表示される。Wiresharkの初期画面Wiresharkの起動直後はこのような画面が表示される。キャプチャするネットワークを選択する。(1)このボタンをクリックする。何も表示されていないが、これはキャプチャするインターフェイスが指定されていないからである。ツール・バーの一番左にあるボタンをクリックすると([Capture]メニューの[Interface]項目でもよい)、次のようなインターフェイスの選択画面が表示される。インターフェイスの選択画面この画面で、キャプチャしたいネットワーク・インターフェイスを選択し、[Start]ボタンをクリックするとキャプチャが始まる。(1)インターフェイスの一覧。VPN用の仮想インターフェイスなども表示される。(2)インターフェイスやIPアドレスなどを確認して、[Start]ボタンをクリックすると、そのインターフェイスのパケットがキャプチャされる。ここでは、一番下にあるイーサネット・インターフェイスのパケットをキャプチャしてみよう。インターフェイス名やIPアドレスなどを確認して、[Start]ボタンをクリックする。するとキャプチャが開始されると同時に、解析されたパケットが、すぐに表示される(ライブ・キャプチャ機能)。キャプチャ/解析表示中のWireshark画面キャプチャされると同時に、解析結果のプロトコル階層が表示される。いちいちキャプチャを止めてから解析画面に移動する必要はない(ネットワーク・モニタでも、Ver.3.x以降で利用可能)。(1)キャプチャの停止ボタン。停止しなくても解析結果は表示されるが、パケットを保存するためには、いったん停止する必要がある。処理が重かったり、解析すべき部分のキャプチャが終了したら、停止してもよいだろう。停止すると、同じバッファに追加してキャプチャはできない(再開すると、既存のバッファ内容はクリアされる)。キャプチャに関するオプション(キャプチャ・バッファのサイズなど)は、左から2番目のボタンで設定する。(2)キャプチャのリセット(キャプチャしたパケットを全部削除する)。(3)パケットの保存ボタン。ネットワーク・モニタなどでよく使われる.cap以外にも、さまざまなフォーマットで保存できる。(4)表示フォントサイズの拡大や縮小のためのボタン。(5)表示やキャプチャのためのフィルタの設定。(6)キャプチャしたパケットの一覧。表示される項目はネットワーク・モニタなどとほぼ同じである。プロトコルの種類や条件別に色分けして表示されるので、分かりやすい(色はカスタマイズも可能)。(7)プロトコル階層別に解析して表示された、プロトコルの詳細画面。(6)で選択したパケットが解析されて表示されている。RPCとはMS-RPCプロトコルのこと。Serviceのコマンドまで解析して表示されている。ネットワーク・モニタでは、この部分は単なるバイナリ列として表示される。(10)[+]アイコン部分を展開すると、このようにプロトコルの詳細が表示される。関連するパケットの場合はこのようにリンクが表示される。リンク部分をクリックすると、該当するパケットまでジャンプしてくれるので、便利である。(11)16進タンプ。Service((9))が表示されている(MS-RPCについてはTIPS「リモートの手続きを呼び出すMS-RPCとは?」参照)。その結果、このパケットは、レジストリのCloseKeyコマンドであることが分かる。これに対しネットワーク・モニタ(次の画面参照)の場合は、MS-RPC以下の階層が表示されておらず、何を実行しているコマンドが分からない(解析できない)。このようにWiresharkの方が、(機能によっては)便利なことも少なくない。目的によって両者を使い分けるとよいだろう。上のパケットと同じものを解析した場合の例(Wiresharkで保存した.capファイルをネットワーク・モニタでオープンして表示させている)。(1)MS-RPCプロトコルの解析結果。この中にあるレジストリ操作のためのコマンド部分は解析されないので、必要なら16進ダンプ・データを自力で調査する必要がある。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。