図1
図1
[画像のクリックで拡大表示]
図2
図2
[画像のクリックで拡大表示]
図3
図3
[画像のクリックで拡大表示]
図4
図4
[画像のクリックで拡大表示]
図5
図5
[画像のクリックで拡大表示]

 前回は,インターネット・トラフィック分析ツールFiddlerの機能拡張を解説しました。今回は,HTTP要求を出す直前とHTTP応答を受信した直後に閲覧動作を停止し,Webサーバーとブラウザ間で交換されるメッセージを分析する機能を紹介します。この機能を使うと,訪問先のWebページを表示前に分析できます。

閲覧動作を途中で停止する

 HTTP要求を送信する直前に閲覧動作を停止するには,Fiddlerの「Rules/Automatic Breakpoints/Before Requests」を有効にします。閲覧動作の停止はブレークポイントを設定することで可能となるのです。このブレークポイント機能を有効にし,IT Proサイト(http://itpro.nikkeibp.co.jp/)にアクセスすると,Fiddlerは図1のように停止します。

 図1を見ると,筆者はいろいろな情報をIT Proサーバーに送ろうとしていることが分かります。例えば,使用しているブラウザ名称を独自に設定しています。それではここで「Break After Response」ボタンをクリックしてみましょう。クリックすると,Fiddlerの画面は図2のように変化します。

 図2を見ると,エラーが返されていることが分かります。今回は詳しい説明は省略しますが,IT Proサーバーはページの切り替え操作を行っています。閲覧動作は現在停止していますから,この時点では,ページ切り替えは完了しています。そこで,「Run To Completion」ボタンと「Break After Response」ボタンを連続してクリックしてみます。すると今度は,図3の画面で動作が停止します。

コンテンツ内容を表示前に分析する

 画面左側を見ると,IT Proサーバーから「index.html」ファイルを受信していることが分かります。しかし現時点では,受信した「index.html」ファイルの内容は表示されません。表示される前にファイル内容を調査したい場合には,ファイル内容に応じたボタンを利用できます。この画面では「TextView」ボタンを使用していますが,「Raw」ボタンをクリックすると,図4のような情報を確認できます。

 ご覧のように,IT Proサーバーから送信されたHTTP応答メッセージの内容がそのまま表示されます。それでは,受信した「index.html」ファイルの内容を分析してみましょう。基本的には,「Run To Completion」ボタンと「Break After Response」ボタンを繰り返しクリックし,閲覧動作が停止した時点で「TextView」や「Raw」ボタンをクリックするだけです。説明だけでは難しい印象を受けますが,実際に操作してみると,きわめて簡単であることが分かります。例えば,図5のようなJavaScriptコードが実行されることが観察できます。

 図5は「index.html」ファイルにJavaScriptコードが埋め込まれていることを示しています。現時点では「Run To Completion」ボタンをクリックしていませんから,JavaScriptコードの内容をじっくり分析できます。不審なコードを見つけた場合には,IEを終了させれば,危険を避けることができます。

 今回は,Fiddlerの「デバッグ機能」を紹介しました。WebデザイナやWebアプリケーション開発者の方は,自分が担当したWebページの動作分析に活用してみてはいかがでしょうか。JavaScriptのコーディングを学習中の方は,インターネット空間そのものを学習教材とすることができます。ぜひ活用してください。

今回のまとめ

  • Fiddlerには閲覧動作を途中で停止する「ブレークポイント」機能がある
  • Fiddlerの「ブレークポイント」機能を使用すると,コンテンツ内容を表示前に分析できる