ネットワーク上のパケットをモニタリングしようとして、いくつかMac OS X上のプロトコルモニタを見て回った。旅といっても、文章にあるような「さらっ」とした旅ではない。たとえるなら、地獄の底を這いずり回るような旅である。
仕様上、どーなっているのか分からない点を確認するのに、プロトコルレベルからモニタしないと手も足も出ないという結論、つまり探し物の旅に出なければならないという結論にたどりつくまでに長い試行錯誤があったのだ。
話を戻す。
どーーーしても、Webサーバとクライアントの間でやりとりされているデータの詳細をつかむ必要に迫られて、かなりいろいろ探して回った。
・tcpdump
/usr/sbinに入っているパケットモニタ。文字ベースのインタフェースで、マニュアルを表示させただけでうんざりした。パス。
・ethereal
オープンソースのプロトコルモニタ/アナライザー。けっこういい感じに見える。だが……これだけをインストールすればいいという話ではなく、etherealをインストールするために依存している他のツールを入れる必要があり、さらにそのツールをインストールするためにはfinkとかDarwinPortsとかのパッケージをうんざりするほどインストールしなくてはならない。たった1つのツールをインストールするのに数十Mバイトもインストールしなくてはならないというのは何事?! 夜中にダウンロードしていたらブチ切れて(回線ではなく、脳細胞が)気の短い自分にはつくづく合わないものだと痛感した。
http://www.ethereal.com/
・AquaEthereal
etherealのGUIフロントエンド。etherealがないと何の役にも立たない。単体で配ってどーーする(ーー; インストーラパッケージ中に必要なバイナリを全部入れておいていただきたいものである。
http://mac.sofotex.com/download-125297.html
・EtherPeek
老舗の商用ソフトウェア。プロトコルごとにフィルタを施してプロトコルのダンプを分かやすく表示できたりと、最初からこれがあれば何も文句はないという決定版。30秒間だけキャプチャできるお試し版をダウンロード可能。お値段19万円(!)。
http://www.wildpackets.com/products/etherpeek_mac
・IPNetMonitorX
68k Macの頃にお世話になったIPNetRouter(Macをルーターにするソフト)などを出しているSASTAINABLE SOFTWORKSの商用ソフト、60ドル。お試し版をダウンロード可能。お安いが、機能もそれなり。
http://www.sustworks.com/site/prod_ipmx_overview.html
結局、EtherPeekのお試し版をいろいろいじくっていた。Webサーバーとブラウザのやりとりだけなら、ローカルにproxyでも立てて、そこでプロトコルのダンプでも行えばいいんじゃないの? という気はする。文字ベースで全部読めるはずだ。
……などと、ブツブツいいながらいろいろ試していると、TCPflowに出会った。昔、永山さんに教えてもらっていた記憶がよみがえりつつ、なーんで検索してこれがすぐに出てこないんだろう、というぐらい用途にぴったり合っていた。
・TCPflow
Mac OS X版のインストーラパッケージも用意されている。
http://www.circlemud.org/%7ejelson/software/tcpflow/
で、結局IP NetMonitorがTCPflowのGUIフロントエンドとして動作する機能を持っていることが分かり、IP NetMonitor上でTCPflowの機能を使ってWebのやりとりを分析中である。
いざ急に調べても、なかなかノウハウはまとまって存在していないものだと実感したのだった。まる。