Microsoft Network Monitor 3

一昔前、ネットワークプロトコルアナライザといえば機能の割には高価なアプリケーションの代名詞だった。そこに大きな風穴を開けたのがEtherealの存在であり、開発者が気軽に使える唯一無二の存在だと思っていたのだが、ところがどっこいMicrosoftもいつの間にか無償で使えるプロトコルアナライザを提供していたのだった。

Microsoft Network Monitor 3

インストール、使い方は簡単。"Start Page"タブから"Create new capture tab"ボタンを押下してキャプチャペインを作ったら、キャプチャを開始するだけだ。表示されている内容は見れば大体解るだろう。
この点Pcap(WinnPcap)ドライバをインストールしなくてはならない、そしてPCapでサポートしていないネットワークカードが使えない(今は殆どのものが使えるはずだが、私が使い始めた頃はIntelのチップは全滅だった)Etherealに比べると、扱いはMicrosoft Network Monitor 3(面倒なのでnetMon3)の方が楽だ。
機能もEtherealとほぼ同じことができると思ってよいだろう。前バージョンまではEtherealで言うところの"リアルタイムキャプチャ"が出来なかったはずだが、3.0では出来るようになっている。
netMon3の強力なところはプロトコルパーサ(データの解析用パーサ)部分がハードコードされたものではなく、専用の組み込みのC系言語"NPL (Network Parsing Language)"で記述されており、以前ここで紹介したFiddler同様にその気になれば自分達で機能拡張ができることだ。
逆にnetMon3で残念なのは、Etherealで言うところの"Follow TCP Stream"機能が今のところ見つからないことだ。(私が使いこなせていないだけかもしれない)
この機能、TCPを使って通信しているソースとディスティネーション間の会話中のキャプチャデータ全てを結合して専用のウインドウで表示してくれる機能だ。

Ethereal's "Follow TCP Stream" (赤がリクエスト、青がレスポンス)
この機能で一般的なサーバ/クライアント通信の殆どのことが判るので非常に重宝している。netMon3でも是非この機能を使いたいものだ。

必要は発明の母と言うが、それにしてもFiddlerにせよNetMonにせよMicrosoftが純粋に開発者向けとしているツールのなんと出来の良いことよ。