図1●FiddlerはIEの拡張機能としてIEのツールバーに登録される
図2●Fiddlerの起動画面
図3●IT Proのトップページにアクセスした際にやり取りされる情報
図4●「Visual Studio 2005 Beta 2」のニュースグループにアクセスした際にやり取りされる情報
図5●Fiddlerのダウンロードページにアクセスした際にやり取りされる情報
 今回は,米Microsoftが無料で公開しているインターネットのトラフィック監視ツール「Fiddler」を使用し,インターネット・コンテンツを閲覧する際にやり取りされている情報を監視します。このツールは,Microsoft社のInternet Explorer(IE)チームが開発したもので,IEのデバッグやWebアプリケーションのパフォーマンス改善にも使用できます。

Fiddlerをインストールし,Webサーバーにアクセスする

 「Fiddler」はこちらからダウンロードできます。Fiddlerの現在のバージョンは1.0.1です。Fiddlerの動作環境は,Microsoft .NET Framework v1.1 (4322)をインストールしたWindows 2000/XP/2003です。筆者は,.NETフレームワークを備えたWindows XP SP2環境にインストールしました。Fiddlerをインストールすると,IEの拡張機能としてIEのツールバーに登録されます(図1[拡大表示])。

 それでは早速,インターネット上のいくつかのWebサーバーにアクセスし,やり取りされる情報を監視してみましょう。ツールバーに登録されたアイコンをクリックすると,Fiddlerが起動します。何らかの理由でアイコンが追加されていない場合には,通常のWindowsアプリケーションと同じように,「スタート」メニュからFiddlerを起動してください。Fiddlerを起動すると,図2[拡大表示]のような画面が表示されます。

 操作上のポイントなどの詳しい説明は,次回説明することにしますので,まずは,どのような情報が監視できるのか見ておきましょう。図3[拡大表示]の画面をご覧ください。この画面は,IT Proのトップページ(http://itpro.nikkeibp.co.jp/)を開いた直後に取得しています。ご覧のように,大量の情報を受け取っています。筆者のIEは,右側上の画面の,紫色で囲まれた「Request Headers」に示されるような情報をIT Proサーバーに送っています。ここでは,きわめて一般的な情報を送っているにすぎません。

 一方,「User-Agent」という欄を見ると,「Takashi Toyota」という文字列を送っていることが分かります。通常この欄には,使用しているIEのバージョン情報などが入ります。筆者は,Fiddlerの拡張機能を使って,「User-Agent」情報を書き換えた上で,IT Proサーバー送っているのです。Fiddlerの拡張機能については,次回取り上げます。

 この画面に表示される情報をじっくり見てみましょう。IEからIT Proサーバーにアクセスする場合には,アクセスするための要求信号を送ります。この情報は,一般には,Request(要求)ヘッダーと呼ばれています。要求を受け取ったIT Proサーバーは,Response(応答)ヘッダーを返してきます。IT Proサーバーから返された応答ヘッダーは右下の画面に表示されています。応答ヘッダー画面を見ると,IT Proサーバーは,Cache(キャッシュ)に関する情報を送り返しています。「no-cache」という文字列から分かるように,IT Proサーバーは,返した情報を「キャッシュしないように」とIEに命じています。

 今度は,Microsoft社の「Visual Studio 2005 Beta 2」のニュースグループ(http://www.microsoft.com/japan/msdn/vstudio/2005/community/newsgroups/default.mspx?dg=microsoft.public.jp.vstudio2005beta2&lang=ja&cr=JP&r=5a5cb0d5-ca34-4fcd-a117-839f3a8979cb)にアクセスしてみます。ニュースグループに接続してみると,IEとMicrosoft社のニュースグループのサーバー間では図4[拡大表示]のような情報がやり取りされています。

 この画面情報の「Referer:」を見ると,筆者は自分のホームページからMicrosoft社の「Visual Studio 2005 Beta 2」ニュースグループに接続していることが分かります。「User-Agent」欄は先ほどと同じように,IE情報ではなく,筆者の名前に変更しています。

 右下の「Response Headers」画面を見ると,先のIT Proサーバーとは異なる情報が返されています。例えば,「Cookies/Login」という情報欄が返されています。多くのニュースグループは参加者登録などを行っていますから,その際に使用するログイン情報をクッキーで管理していることが想像されます。さらに,「Cache」欄を見ると,Microsoftのサーバーもキャッシュを禁止する指示をIEに出していることが分かります。

 今度は左側の画面を見てください。IT Proサーバー画面と異なり,表示されている情報が少ないことに気付くと思います。筆者は,Fiddlerのフィルタリング機能を使用し,GIFやJPEGイメージの監視を除外しているのです。フィルタリング機能などの具体的な説明は次回行います。

 最後に,Fiddlerのダウンロードページ(http://www.fiddlertool.com/fiddler/)にアクセスしてみます。Fiddlerのヘルプから関連ページを開くと,図5[拡大表示]のような情報が返されます。右側画面の「Request Headers」情報は,筆者のIEが「Cookie」を返していることが分かります。このため,筆者はFiddlerページのリピータであることが分かります。また,筆者のIEはFiddlerの開発者に日本語情報を受け取る(Accept-Language: ja)ことを宣言していますから,FiddlerページのWeb管理者は,Fiddlerに興味を持っている人が日本語圏にいることも分かります。

今回のまとめ

  • IEのトラフィックを監視するFiddlerというツールが公開された
  • Fiddlerを使用すると、アクセスしたWebサーバーの特徴が分かる
  • Fiddlerにはフィルタリング機能と拡張機能がある