
Webサービスの開発やセキュリティの学習を進めていると、「HTTP/HTTPS通信の中身を覗いてみたい」と感じる場面はありませんか?そんな時に絶大な効果を発揮するのが、今回紹介する「Fiddler」です。
この記事では、セキュリティ学習者の方を対象に、Fiddlerのインストール方法から基本的な使い方、さらには実践的な活用法まで、豊富な画像と共に分かりやすく解説していきます。
誰でも無料で参加できるハッキング体験会の参加者募集中!!

Fiddlerとは?

Fiddlerは、Telerik社が開発したWebデバッグプロキシツールです。プロキシとして動作し、お使いのPCとインターネットの間で行われるすべてのHTTP/HTTPS通信を「傍受」して、その内容を詳細に分析したり、書き換えたりすることができます。
具体的には、以下のようなことが可能です。
- 通信の監視: Webブラウザやアプリケーションがどのようなサーバーと通信しているかリアルタイムで確認できます。
- リクエスト/レスポンスの分析: 通信ヘッダーやボディの内容を詳細に確認し、問題の特定に役立てられます。
- 通信の改ざん: リクエストやレスポンスを意図的に書き換えることで、サーバーの挙動をテストしたり、脆弱性の診断を行ったりできます。
- パフォーマンス分析: Webサイトの表示が遅い原因を、通信の観点から分析できます。
開発者だけでなく、セキュリティエンジニアにとっても必須のツールと言えるでしょう。
※Fiddlerには「Fiddler Classic」と「Fiddler Everywhere」の2種類がありますが、本記事では長年多くのユーザーに利用されているFiddler Classicをベースに解説します。
Fiddlerのインストール方法【3ステップ】
まずはFiddler ClassicをPCにインストールしましょう。特に難しい手順はありませんが、HTTPS通信を解析するための重要な設定があるので、順番に見ていきましょう。
ステップ1: Fiddler Classicのダウンロード
1. まずはFiddler Classicの公式サイトにアクセスします。
2. メールアドレスや国などの必要事項を入力し、利用規約に同意するチェックを入れて「Download for Windows」をクリックします。
3. `FiddlerSetup.exe` という名前のインストーラーがダウンロードされます。
ステップ2: インストーラーの実行
1. ダウンロードした`FiddlerSetup.exe`をダブルクリックして実行します。
2. セキュリティの警告が表示された場合は「実行」をクリックします。
3. 「I Agree」をクリックして、ライセンス契約に同意します。
4. インストール先フォルダを確認し、「Install」をクリックします。特に変更する必要はありません。
5. インストールが完了したら「Close」をクリックしてウィンドウを閉じます。
ステップ3: HTTPS通信を復号化する設定 (最重要!)
インストールした直後の状態では、暗号化されたHTTPS通信の中身を見ることができません。FiddlerでHTTPSの通信内容を解析するためには、復号化の設定が必須です。これは最初に一度だけ行えばOKです。
1. Fiddlerを起動し、メニューバーから Tools > Options… を選択します。
2. 「Options」ウィンドウが開いたら、HTTPSタブをクリックします。
3. 「Capture HTTPS CONNECTs」と「Decrypt HTTPS traffic」の両方にチェックを入れます。
4. 警告のダイアログが何度か表示されますが、すべて「はい」または「Yes」をクリックして、Fiddlerが生成したルート証明書をPCにインストールします。これにより、FiddlerがHTTPS通信を「解読」できるようになります。
5. 最後に「OK」ボタンをクリックして設定完了です。これで、HTTPS通信の中身もFiddlerで確認できるようになりました。

Fiddlerの基本的な使い方
インストールが完了したら、早速Fiddlerの基本的な使い方をマスターしていきましょう。
画面構成を理解しよう
Fiddlerを起動すると、いくつかの領域(ペイン)に分かれたウィンドウが表示されます。まずは主要な2つの領域の役割を覚えましょう。
- ① セッションリスト (Web Sessions):
PC上で発生したHTTP/HTTPS通信が、一覧で時系列に表示されます。どのサイトにアクセスしたか、どのAPIが呼ばれたかなどが一目でわかります。 - ② インスペクタ (Inspectors):
セッションリストで選択した通信の「詳細情報」を表示する領域です。通信は「リクエスト(要求)」と「レスポンス(応答)」に分かれており、それぞれの内容を様々な形式で確認できます。

通信のキャプチャと停止
Fiddlerは起動すると自動的に通信のキャプチャを開始します。
キャプチャを一時的に停止したい場合は、左下の「Capturing」と表示されているアイコンをクリックします。再度クリックするとキャプチャが再開します。キーボードのF12キーでもオン/オフの切り替えが可能です。
インスペクタで通信内容を覗いてみよう
インスペクタは、Fiddlerの心臓部です。セッションリストから気になる通信を一つクリックして、その中身を見てみましょう。
インスペクタは、上段がリクエスト (Request)、下段がレスポンス (Response) の詳細を表示します。
【リクエストの確認】
- Headers: HTTPヘッダー情報(ユーザーエージェント、Cookieなど)が表示されます。
- TextView: 送信されたデータをテキスト形式で確認できます。
- WebForms: フォームで送信されたデータ(IDやパスワードなど)を分かりやすく表示します。

【レスポンスの確認】
- Headers: サーバーからの応答ヘッダー情報(ステータスコード、Content-Typeなど)が表示されます。
- TextView: HTMLやCSS、JavaScriptなどのソースコードをテキストで確認できます。
- ImageView: レスポンスが画像の場合、その画像を表示します。
- JSON: レスポンスがJSON形式の場合、整形して見やすく表示します。

特定の通信だけを表示する「フィルター機能」
Webサイトを表示すると、非常に多くの通信が発生します。その中から目的の通信を探し出すのは大変です。そこで役立つのがフィルター機能です。
1. インスペクタの隣にある「Filters」タブをクリックします。
2. 「Use Filters」にチェックを入れます。
3. 例えば、特定のホスト(ドメイン)の通信だけを表示したい場合、「Hosts」セクションのプルダウンメニューを「Show only the following Hosts」に変更し、下の入力欄にホスト名(例: `www.google.com`)を入力します。
4. 右上の「Actions」ボタンから「Run filterset now」をクリックすると、フィルターが適用され、セッションリストに表示される通信が絞り込まれます。
特定の通信をブロック!AutoResponderで擬似的な障害テスト

Fiddlerの強力な機能の一つ「AutoResponder」を使えば、特定の通信を意図的に失敗させ、擬似的な障害状況を作り出すことができます。例えば「特定のJSファイルが読み込めなかったら、サイトはどう表示されるか?」といったテストが、サーバーに一切影響を与えず、自分のPCの中だけで簡単に行えます。
ステップ1: ルールを設定する準備
1. Fiddlerの右側にあるパネルから「AutoResponder」タブをクリックします。
2. 「Enable rules」(ルールを有効化)と「Unmatched requests passthrough」(ルールに一致しない通信は通常通り通す)の両方にチェックを入れます。

ステップ2: ブロックしたい通信を選択する
1. ブラウザでテストしたいWebサイトにアクセスします。
2. Fiddlerの左側のセッションリストから、ブロックしたい通信(例えばサイトの挙動を制御していそうな `.js` ファイルなど)を探し、それを「AutoResponder」タブのルール一覧エリアにドラッグ&ドロップします。
ステップ3: 通信をブロックするルールを作成する
1. ルールが追加されたら、「Rule Editor」のプルダウンメニューをクリックします。
2. 一覧の中から **`*bpafter`** や **`*reset`** 、あるいはシンプルに **`*drop`** を選択します。ここでは、シンプルに通信を破棄する `*drop` を選んでみましょう。
3. 最後に「Save」ボタンをクリックしてルールを保存します。

ステップ4: ブラウザで結果を確認する
ブラウザに戻り、対象のWebページをスーパーリロード(`Ctrl + F5`)してください。指定したファイルの読み込みがFiddlerによってブロックされるため、サイトの表示が崩れたり、一部の機能が動かなくなったりするはずです。
このように、特定のファイルが読み込めない場合の影響を、実際のファイルを消すことなく安全にテストできます。これは障害発生時の状況調査や、堅牢なウェブサイトを作るためのテストに非常に役立ちます。
まとめ
今回は、Webデバッグプロキシの定番ツールであるFiddlerのインストール方法から、HTTPS通信の解読設定、基本的な使い方、そしてAutoResponder機能を使った簡単な障害テストまでを解説しました。
Fiddlerを使いこなせるようになると、Webサイトやアプリケーションが裏側でどのように動作しているのかを深く理解できるようになります。これは、効率的な開発やデバッグ、そしてセキュリティの脆弱性診断において非常に強力な武器となります。
まずはこの記事を参考に、普段使っているWebサイトの通信を覗いてみることから始めてみてください。きっと新たな発見があるはずです。
誰でも無料で参加できるハッキング体験会の参加者募集中!!
