Fiddlerの基本操作
Fiddlerを起動すると次のような画面が表示されます。
![fiddler_op_1.png](http://hagurese.net/blog/File.aspx?key=5bcc899a-ae8f-4b1c-8efa-24612e67763a&=x200&y=200)
HTTPリクエスト/レスポンスの確認
ブラウザを適当に操作してWebサイトを表示していくと、FiddlerがHTTP通信(Web Session)を記録していきます。
![fiddler_op_2.png](http://hagurese.net/blog/File.aspx?key=12474d0f-f829-4f16-96b0-051da05f273c&=x200&y=200)
画面左側に記録されたHTTP通信が一覧表示されます。
画面右側の「Inspector」タブをクリック(F8 でも設定可能)して、画面左側のHTTP通信を選択すると、選択したHTTP通信の情報が表示されます。
![fiddler_op_3.png](http://hagurese.net/blog/File.aspx?key=05628cf2-9781-49e6-88d3-6725c83a8dd6&=x200&y=200)
画面右側上段がHTTPリクエスト、下段がHTTPレスポンスの情報です。
それそれ、「Raw」タブを選択すると生データを確認することができます。
![fiddler_op_4.png](http://hagurese.net/blog/File.aspx?key=9c8236ea-a101-4390-93fe-109350d0c794&=x200&y=200)
タブにはいろいろな種類がありますので、状況に応じて使い分けます。
例えば、画像ファイルであれば、「ImageView」を選択することで、画像を確認することができます。
![fiddler_op_5.png](http://hagurese.net/blog/File.aspx?key=590cadd8-5fe7-49dc-bdd1-60d353985a43&=x200&y=200)
Webプロキシ機能(Capture機能)のON/OFF
FiddlerにHTTP通信を記録させたくない場合は、画面左下にある「Capturing」をクリックします。
![fiddler_op_6.png](http://hagurese.net/blog/File.aspx?key=2fd329c0-f653-4c63-913d-2e208aaf2860&=x200&y=200)
「Capturing」が非表示になります。(F12 でも設定可能)
![fiddler_op_7.png](http://hagurese.net/blog/File.aspx?key=1495a2c7-a955-49a9-b522-0d04a797de0c&=x200&y=200)
この状態では、ブラウザを操作してもHTTP通信は記録されません。
再び記録させるためには、もう一度、画面左下をクリックし、「Capturing」を表示させます。
その他、Webプロキシに関する設定は、「Tools」->「Fiddler Options...」で開く「Fiddler Options」画面の「Connections」タブで変更することができます。
![fiddler_op_8.png](http://hagurese.net/blog/File.aspx?key=6237e74e-8d56-4225-bd1f-05b71dcacc45&=x200&y=200)
CaptureするWebクライアントのプロセスフィルタ機能
実のところ、HTTP通信をしているプログラムはWebブラウザだけではありません。
デバッグ中は、目的のWebクライアントが発するHTTP通信以外はノイズになりますので、プロセスフィルタを使ってフィルタします。
![fiddler_op_9.png](http://hagurese.net/blog/File.aspx?key=ce32a588-9fda-461b-a8ee-fe398d34a988&=x200&y=200)
画面上部の「Process Filter」は、目的のプロセスのウィンドウ上でDropすることで対象プロセスを選定します。
画面下部はスイッチになっていて、クリックする度に以下のように変化します。
![fiddler_op_10.png](http://hagurese.net/blog/File.aspx?key=f5303425-598f-48ed-af5f-15a7d6f51b8c&=x200&y=200)
- All Process
全てのプロセスを許可 - Web Browsers
ブラウザのみ許可 - Non-Browser
ブラウザ以外のWebクライアントを許可 - Hide All
全てフィルタ
HTTPリクエスト/レスポンスのブレーク機能(Automatic Breakpoints機能)
通信中のHTTPリクエスト/レスポンスを捕まえて、その内容を操作したい場合、画面下部のスイッチをクリックします。
![fiddler_op_11.png](http://hagurese.net/blog/File.aspx?key=94a6a513-2a1d-4f3c-8172-322aa58a7d49&=x200&y=200)
スイッチは、クリックする度に以下のように変化します。
![fiddler_op_12.png](http://hagurese.net/blog/File.aspx?key=9ae758a5-c048-4580-837e-5269a5a060c5&=x200&y=200)
- (なし)
ブレークしない(F11 でも設定可能) - (上矢印+ポーズ)
HTTPリクエストをブレーク(Alt + F11 でも設定可能) - (下矢印+ポーズ)
HTTPレスポンスをブレーク(Shift + F11 でも設定可能)
「HTTPリクエストをブレーク」に設定すると、以下の画面のようにHTTPリクエストをブレークし、レジュームされるのを待ちます。
![fiddler_op_13.png](http://hagurese.net/blog/File.aspx?key=9304a593-fb9f-47d7-b058-9bc9cea61aec&=x200&y=200)
この状態でHTTPリクエストの内容を操作することができます。
「Break On Response」をクリックすると、今度はHTTPレスポンスをブレークします。
![fiddler_op_14.png](http://hagurese.net/blog/File.aspx?key=021eb0d1-f9be-4998-bbe9-36fd8f3d060c&=x200&y=200)
この状態でHTTPレスポンスの内容を操作することができます。
「Run To Completion」をクリックすると、レジュームします。
なお、画面上部の「Resume All」をクリックすると、ブレークしているすべてのHTTP通信をレジュームします。
Fiddler徹底解剖