Fiddler2で、HTTP(S)でブラウザとサーバ間の通信をキャプチャ・加工する

Bookmark this on Yahoo Bookmark
このエントリーをはてなブックマークに追加
はてなブックマーク - Fiddler2で、HTTP(S)でブラウザとサーバ間の通信をキャプチャ・加工する
Bookmark this on Livedoor Clip
Bookmark this on Digg
Bookmark this on BuzzURL

Webサイトやサービスを開発していると、ブラウザとサーバ間の通信内容を調査したい場合があります。
WireSharkなどの通信キャプチャソフトなども利用できますが、HTTPSの通信内容でも見れるという点で、「Fiddler2」もその候補に挙がると言えます。

Fiddler2はフリーソフトで、インストールして起動すると、ブラウザとサーバ間のプロキシのように動作します。

プロキシのように動作するため、通信の内容を確認できるほか、HTTPのヘッダを加工・追加するなど、リクエストを組み立てる機能も持っています。
テスト時に様々なパラメータでリクエストを生成するときなどにも利用できます。
また、HTPだけでなく、HTTPSの通信内容も閲覧することが可能です。

それでは早速、その使い方を見ていきましょう。

まず、Fiddler2のサイトからダウンロードとインストールを行います。
2012/07/20時点では、2つのバージョンがあります。
.NET Framework v2.0で動くv2と、.NET4.0で動くv4です。
今回はv4をダウンロードしました。

image

 

使い方

では、実際の使い方を、シーン別に解説します。

 

①一般的な使い方

ますは、「Fiddler2」を起動して、その後、お好きなブラウザを立ち上げます。
「Fiddler2」を立ち上げた時点で、Windowsのネット接続環境が以下のように自動で設定されます。
※Fiddler2を終了すると、設定は自動的に元に戻ります。

image

 

そのため、以降の通信がFiddler2のポート8888を通して行われるので、そのやり取りがキャプチャできるというわけです。

 

②特定のURLの通信のみをキャプチャする

デフォルトの設定ですと、ブラウザで行う通信の全てをキャプチャします。
これはこれでいいのですが、あるサーバとの通信を重点的に見たい場合は、余計な情報が入っているので、少し見にくいですね。
そのため、特定のサーバへの通信のみをキャプチャする設定が可能です、

「Filters」というタブを見てみましょう。
そこの設定で、「Show only the following Hasts」というプルダウンを選択し、フィルタする条件を入力します。
例えば、Yahooのみキャプチャしたい場合は、「*.yahoo.co.jp」のように入力します。

 

image

 

設定できたら、右上の「Actions」で「Run Filterset now」を選択すると、設定した条件が適用されます。

③SSL通信をキャプチャする。

Fiddlerの良いところは、SSLの通信でもキャプチャして解析できるところです。
SSLの通信を解析する場合の設定は、「Tools」⇒「Fiddler Options…」から設定画面を開きます。

image

 

設定画面内のタブ、「HTTPS」を見てみましょう。
「Capture HTTPS CONNECTs」と「Decript HTTPS traffic」にチェックを入れます。その下のプルダウンは「….from all processes」で結構です。

image

 

試しにSSLのGmailをキャプチャしてみます。
下記のように、うまく見れることが分かりますね。

image

 

設定をしておかなかったり、他の、SSLに対応していないソフトだと、通信が暗号化されていて見れませんから、非常に重宝します。

 

④GETまたはPOSTのリクエストを加工する

Fiddler2のもう一つの便利な使い方は、記事のタイトルにもあるように、リクエストを加工/組み立てることができることです。
例えば、認証用に特別なヘッダを追加したい場合などに重宝します。
「Filter」タブの「Set request header」にチェックを入れ、ヘッダ名とヘッダの値を入力しておくと、リクエスト時に自動でヘッダーに設定した値が追加されます。

image

 

 

複数のヘッダ値を追加したい場合や、自由にリクエストを組み立てたい場合は、「Composer」タブが便利です。
「Request Headers」に複数のヘッダ値を入力して、「Execute」ボタンを押せば、リクエストが組み立てられて、リクエストがサーバに送信されます。

image

テストのときなどに重宝する機能ですね。

あわせて読みたい関連記事

タグ

2012年7月23日 | コメント/トラックバック(0)|

カテゴリー:.NET Tool Windows

トラックバック&コメント

この投稿のトラックバックURL:

コメントをどうぞ

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このページの先頭へ

イメージ画像