Fiddlerの基本操作
Fiddlerを起動すると次のような画面が表示されます。
![fiddler_op_1.png](http://www.hagurese.net/blog/File.aspx?key=1a9e52c3-7fb8-4392-ad7c-6627de4cef27&=x200&y=200)
HTTPリクエスト/レスポンスの確認
ブラウザを適当に操作してWebサイトを表示していくと、FiddlerがHTTP通信(Web Session)を記録していきます。
![fiddler_op_2.png](http://www.hagurese.net/blog/File.aspx?key=bf282102-19de-420a-8dbc-79bdf0c38aab&=x200&y=200)
画面左側に記録されたHTTP通信が一覧表示されます。
画面右側の「Inspector」タブをクリック(F8 でも設定可能)して、画面左側のHTTP通信を選択すると、選択したHTTP通信の情報が表示されます。
![fiddler_op_3.png](http://www.hagurese.net/blog/File.aspx?key=ccec1b04-0813-4510-8425-570967802ea5&=x200&y=200)
画面右側上段がHTTPリクエスト、下段がHTTPレスポンスの情報です。
それそれ、「Raw」タブを選択すると生データを確認することができます。
![fiddler_op_4.png](http://www.hagurese.net/blog/File.aspx?key=253f58cf-634b-4321-8684-5c6596a7c292&=x200&y=200)
タブにはいろいろな種類がありますので、状況に応じて使い分けます。
例えば、画像ファイルであれば、「ImageView」を選択することで、画像を確認することができます。
![fiddler_op_5.png](http://www.hagurese.net/blog/File.aspx?key=dace3f4b-2e5b-4d23-bd18-f20ed8bd2bb9&=x200&y=200)
Webプロキシ機能(Capture機能)のON/OFF
FiddlerにHTTP通信を記録させたくない場合は、画面左下にある「Capturing」をクリックします。
![fiddler_op_6.png](http://www.hagurese.net/blog/File.aspx?key=e0ff67b9-dff7-45fb-8583-1200e294a2e5&=x200&y=200)
「Capturing」が非表示になります。(F12 でも設定可能)
![fiddler_op_7.png](http://www.hagurese.net/blog/File.aspx?key=ce3746a0-7aff-4c08-b55a-0c84e027002a&=x200&y=200)
この状態では、ブラウザを操作してもHTTP通信は記録されません。
再び記録させるためには、もう一度、画面左下をクリックし、「Capturing」を表示させます。
その他、Webプロキシに関する設定は、「Tools」->「Fiddler Options...」で開く「Fiddler Options」画面の「Connections」タブで変更することができます。
![fiddler_op_8.png](http://www.hagurese.net/blog/File.aspx?key=7e149121-a29b-4725-a466-b83819a7ed94&=x200&y=200)
CaptureするWebクライアントのプロセスフィルタ機能
実のところ、HTTP通信をしているプログラムはWebブラウザだけではありません。
デバッグ中は、目的のWebクライアントが発するHTTP通信以外はノイズになりますので、プロセスフィルタを使ってフィルタします。
![fiddler_op_9.png](http://www.hagurese.net/blog/File.aspx?key=8bdb59f8-1b2c-4622-b1ba-5d2ebc7e9c91&=x200&y=200)
画面上部の「Process Filter」は、目的のプロセスのウィンドウ上でDropすることで対象プロセスを選定します。
画面下部はスイッチになっていて、クリックする度に以下のように変化します。
![fiddler_op_10.png](http://www.hagurese.net/blog/File.aspx?key=7ce29915-d6c0-4f1d-9498-ae4f56fbb303&=x200&y=200)
- All Process
全てのプロセスを許可 - Web Browsers
ブラウザのみ許可 - Non-Browser
ブラウザ以外のWebクライアントを許可 - Hide All
全てフィルタ
HTTPリクエスト/レスポンスのブレーク機能(Automatic Breakpoints機能)
通信中のHTTPリクエスト/レスポンスを捕まえて、その内容を操作したい場合、画面下部のスイッチをクリックします。
![fiddler_op_11.png](http://www.hagurese.net/blog/File.aspx?key=e797546a-4bce-4762-945e-3ca6dc5708f3&=x200&y=200)
スイッチは、クリックする度に以下のように変化します。
![fiddler_op_12.png](http://www.hagurese.net/blog/File.aspx?key=32a9f270-822d-48ac-816d-1065e253ebb7&=x200&y=200)
- (なし)
ブレークしない(F11 でも設定可能) - (上矢印+ポーズ)
HTTPリクエストをブレーク(Alt + F11 でも設定可能) - (下矢印+ポーズ)
HTTPレスポンスをブレーク(Shift + F11 でも設定可能)
「HTTPリクエストをブレーク」に設定すると、以下の画面のようにHTTPリクエストをブレークし、レジュームされるのを待ちます。
![fiddler_op_13.png](http://www.hagurese.net/blog/File.aspx?key=a077ced9-e6d5-47a1-a24c-0198cb35de2b&=x200&y=200)
この状態でHTTPリクエストの内容を操作することができます。
「Break On Response」をクリックすると、今度はHTTPレスポンスをブレークします。
![fiddler_op_14.png](http://www.hagurese.net/blog/File.aspx?key=b2817d34-4b9c-43fa-8520-a81d916ee86a&=x200&y=200)
この状態でHTTPレスポンスの内容を操作することができます。
「Run To Completion」をクリックすると、レジュームします。
なお、画面上部の「Resume All」をクリックすると、ブレークしているすべてのHTTP通信をレジュームします。
Fiddler徹底解剖