
ここでは、Telerik Fiddler Classic(以下、Fiddler)のFilters機能の使い方について、詳細に説明します。
Fiddlerとはそもそも何か、また、Fiddlerの使い方全般に関しては、以下の記事をご確認ください:
FiddlerのFilters機能を使用すると、「キャプチャしたHTTP(S)リクエスト一覧」をフィルタし、必要なものだけを表示できます。
最近のブラウザは、google検索をするだけでも、複数のHTTP(S)リクエストを発行しており、それらはすべてFiddlerのリクエスト一覧に表示されます。調査中や確認中の時に、必要なHTTP(S)リクエスト以外が一覧に表示されると作業効率が下がります(涙)。フィルタ機能を使用すると、必要な情報のみを一覧に表示でき、効率よく調査を進めることができます。
Filters機能は、以下の様なケースで力を発揮します:
- localhostや特定のウェブサイトとの通信だけの調査
- Webアプリのフロントエンド側の単体テスト
Filters機能について、詳細を見ていきましょう。
Filters機能の画面構成と使い方概要
本章では、Filters機能の画面構成と使い方の概要を説明します。Filters機能の設定とルールの詳細は、次章で説明します。
画面構成
Filters機能は、以下画面の緑枠、青枠、赤枠の大きく3つに分けることができます。それぞれの概要は以下の通りです:
- 緑:キャプチャしたHTTP(S)リクエスト一覧(以下、「リクエスト一覧」)
- 青:Filters機能の有効化と設定内容の保存
- 赤:Filters機能の設定

使い方概要
Filters機能は、設定情報に基づきリクエスト一覧に表示するデータをフィルタします。Composer機能やAutoResponder機能と比較すると、必要な設定を選択して、フィルタを有効にするだけです。操作方法は難しくありません。
Fiddler機能全般にいえることですが、ほぼすべての機能で、「リクエストをサーバに送信する直前」か「レスポンスをブラウザに返す直前」で中断し、データを修正する機能があります。Filters機能も例外なく、この機能が実装されています。具体的な操作方法は、「ブレークポイント」で説明します。
Filters機能の有効化と設定内容の保存
ここでは、FIlters機能を有効化する方法と設定内容の保存方法を説明します。
有効化
「Use Filters」チェックボックスを選択し、Filters機能を有効にします。
有効となっている場合は「Filtersタブにチェックが入っている」状態となり、無効となっている場合は、 「Filtersタブにチェックが入ってない」状態 となります。


設定内容(Filterset)の保存
Actionsボタンを選択すると、以下の選択肢を表示します。それぞれの選択肢の意味を説明します:
- Run Filterset now:画面に表示しているフィルタを実行。Filters機能の設定を一部変更した場合は、これを選択しないと、Fiddlerには新しい設定が反映されない
- Load Filterset…:保存しているフィルタ情報を読込
- Save Filterset…:画面に表示しているフィルタ情報を保存

Filter機能の設定
ここでは、Filters機能で設定できる項目を説明します。
Hostsグループボックス
Hostsグループボックスでは、リクエスト一覧をホスト名でフィルタします。2種類のフィルタ方法があります。それぞれ詳細に説明します:
- Zone Filterプルダウン
- Host Filterプルダウン

Zone Filter プルダウン
Zone Filterプルダウンでは、イントラネットホストかインターネットホストのどちらかをリクエスト一覧に表示する様に設定できます。それぞれの違いは以下の通りです:
- - No Zone Filter -
ゾーンフィルタなし - イントラネットホスト(「ピリオドなしのホスト名」)
localhostなどを表示。IPアドレス(127.0.0.1など)はイントラネットホストとは認識されない - インターネットホスト(「ピリオドありのホスト名」と「IPアドレス」)
kennyshroff.comやIPアドレスを表示される。IPアドレスであれば、ローカル・グローバル問わず、リクエスト一覧に表示される
Host Filterプルダウン
Host Filterプルダウンでは、以下の選択肢とテキストエリアに入力するIPアドレス、ホスト名の組み合わせで、リクエスト一覧に表示する/しないを設定できます。テキストエリアに複数のIPアドレス、ホスト名を列挙する場合は、セミコロン「;」で区切ります:
- - No Host Filter -
ホストフィルタなし - Hide the following Hosts
テキストエリア内のホスト、IPアドレスはリクエスト一覧に表示しない - Show only the following Hosts
テキストエリア内のホスト、IPアドレスはリクエスト一覧に表示する - Flag the following Hosts
テキストエリア内のホスト、IPアドレスをハイライト(ボールド表示)する
Client Processグループボックス
Client Processグループボックスでは、特定のクライアントからのHTTP(S)リクエストのみをリクエスト一覧に表示する/表示しないを設定できます。具体的には、以下の3項目の組み合わせで、表示する/しないを設定できます。それぞれを詳細に説明します:
- Show only traffic from
- Show only Internet Explorer traffic
- Hide traffic from Service Host

Show only traffic from
「プルダウンから指定したプロセス」のトラフィックのみをリクエスト一覧に表示します。プルダウンを選択すると、起動中のプロセス一覧を表示するため、表示内容はカオスになりがちです(笑):

Show only Internet Explorer traffic
Internet Explorer関連のトラフィックのみをリクエスト一覧に表示します。
2021年11月3日時点の最新版では、Microsoft Edgeには対応しておらず、IE11のトラフィックのみをリクエスト一覧に表示します。Microsoft Edgeのトラフィックを表示したい場合は、「Show only traffic from」で、Microsoft Edgeのプロセスを選択するか、Fiddlerの画面左下のプロセス一覧からWeb Browsersを選択します。
デフォルトでは、「All Processes」が選択されています:

Hide traffic from Service Host
Windowsのsvchost.exeのトラフィックをリクエスト一覧に表示しません。svchost.exeは、RSSフィードやバックグラウンドでネットワーク接続をするプロセスです。
Request Headers グループボックス
Request Headersグループボックスでは、リクエストヘッダに特定の情報があるものをリクエスト一覧に表示する/表示しない/ハイライトする様に設定できます 。 具体的には、以下の5項目の組み合わせで、表示する/しない/ハイライトすることを設定できます。それぞれを詳細に説明します:
- Show only if URL contains
- Hide if URL contains
- Flag requests with headers
- Delete request headers
- Set request header

Show only if URL contains
URL内に特定の文字列を含むもののみをリクエスト一覧に表示します。以下のキーワードを使用できます:
- EXACT
大文字、小文字まで、入力した通りのものをリクエスト一覧に表示。
例:EXACT://example.co.jp/q=CASE+SENsitive - REGEX
正規表現を使用して、合致するものをリクエスト一覧に表示。
例:REGEX:^.*BodyText.*$
Hide if URL contains
URL内に特定の文字列を含むものをリクエスト一覧に表示しません。
Flag requests with headers
HTTPヘッダ内に指定した項目があれば、フラグを立てます(ボールドで表示します)。指定する項目は、複数指定できます。
「,」(カンマ)か「;」(セミコロン)で区切ってください:


Delete request headers
HTTPリクエストヘッダから特定のヘッダを削除します。
Set request header
Delete request hearderとは反対に、HTTPリクエストヘッダにリクエストヘッダを1件追加します。
HTTPリクエストヘッダを複数追加したい場合は、Composer機能を使用してください。
Breakpoints グループボックス
Breakpointsグループボックスでは、ブレークポイントを張り、条件に合致したHTTP(S)リクエスト・レスポンスをFiddlerでブレーク(中断)し、データ修正→送信できます。以下の4項目の組み合わせでブレークポイントを設定できます(単体でもブレークできます)。どの項目でも、ブレーク後、リクエスト内容を修正→「サーバかブラウザ」に送信する挙動となります。それぞれを詳細に説明します:
- Break request on POST
- Break on XMLHttpRequest
- Break response on Content-Type
- Break request on GET with query string

Break request on POST
POSTメソッドによるHTTP(S)リクエストの場合、Fiddlerでブレークします。
【ブレークするタイミング】
HTTP(S)リクエスト:ブラウザ→Fiddler(ここでブレーク)→サーバ
HTTP(S)レスポンス:ブラウザ←Fiddler←サーバ
Break on XMLHttpRequest
HTTPリクエストヘッダに「X-Requested-With: XMLHttpRequest」が含まれている場合、Fiddlerでブレークします。
【ブレークするタイミング】
HTTP(S)リクエスト:ブラウザ→Fiddler(ここでブレーク)→サーバ
HTTP(S)レスポンス:ブラウザ←Fiddler←サーバ
Break response on Content-Type
HTTPレスポンスヘッダに指定したContent-Typeが存在している場合、Fiddlerでブレークします。
【ブレークするタイミング】
HTTP(S)リクエスト:ブラウザ→Fiddler→サーバ
HTTP(S)レスポンス:ブラウザ←Fiddler(ここでブレーク)←サーバ
Break request on GET with query string
GETメソッドによるHTTP(S)リクエストで、queryストリングがURLに付随している場合、ブレークします。
【ブレークするタイミング】
HTTP(S)リクエスト:ブラウザ→Fiddler(ここでブレーク)→サーバ
HTTP(S)レスポンス:ブラウザ←Fiddler←サーバ
【例】
URL:https://bayden.com/sandbox/status.asp?status=200
この場合、queryストリングは、「?」以降の文字列となります:「status=200」。
Response Status Code グループボックス
リクエスト一覧から「特定のHTTPレスポンス ステータス コード」が返ってきたものを非表示にします。 具体的には、以下の5項目から非表示にするものを選択します。それぞれを詳細に説明します:
- Hide success (2xx)
- Hide non-2xx
- Hide Authentication demands (401,407)
- Hide redirects (300,301,302,303,307)
- Hide Not Modified (304)

Hide success (2xx)
2xx系のHTTPレスポンス ステータス コードが返ってきたものをリクエスト一覧から非表示にします。
Hide non-2xx
2xx系以外のHTTPレスポンス ステータス コードが返ってきたものをリクエスト一覧から非表示にします。
Hide Authentication demands (401,407)
401(Unauthorized:認証資格が不足している)、407(プロキシ認証が必要)のHTTPレスポンス ステータス コードが返ってきたものをリクエスト一覧から非表示にします。
Hide redirects (300,301,302,303,307)
リダイレクト系(300,301,302,303,307)のHTTPレスポンス ステータス コードが返ってきたものをリクエスト一覧から非表示にします。
Hide Not Modified (304)
304(Not Modified:変更なし) HTTPレスポンス ステータス コードが返ってきたものをリクエスト一覧から非表示にします。
Response Type and Size グループボックス
リクエスト一覧に対して、以下2種類の操作を行います:
・「特定のHTTPレスポンス タイプ・サイズ」が返ってきたものを非表示
・リクエスト一覧をレスポンス時間に応じて、色分け
具体的に選択できる項目は、以下の8項目となります。それぞれを詳細に説明します:
- コンテンツタイプ プルダウン
- Hide smaller than XXX KB
- Hide larger than XXX KB
- Time HeatMap
- Block script files
- Block image files
- Block SWF files
- Block CSS files

コンテンツタイプ プルダウン
コンテンツタイプ プルダウンは、選択した項目を表示するか非表示にします。詳細は、以下をご確認ください:
- Show all Content-Types
全てのコンテンツタイプを表示 - Show only IMAGE/*
画像のコンテンツタイプのみを表示 - Show only HTML
HTMLのコンテンツタイプのみを表示 - Show only TEXT/CSS
TEXT/CSSのコンテンツタイプのみを表示 - Show only SCRIPTS
JavaScriptのコンテンツタイプのみを表示 - Show only XML
XMLのコンテンツタイプのみを表示 - Show only JSON
JSONのコンテンツタイプのみを表示 - Hide IMAGE/*
画像のコンテンツタイプを非表示
Hide smaller than XXX KB
指定したKB未満のHTTPレスポンスは非表示とします。
例えば、40KBと設定した場合、 40KBまでは表示されます。
ここでの40KBは「40,000 Bytes」です。 39,999 Bytesは非表示となります。
Hide larger than XXX KB
指定したKB+1バイト以上のHTTPレスポンスは非表示とします。
例えば、40KBと設定した場合、40KB(+1byte)以上のファイルは非表示とします。
ここでの40KBは上記同様「40,000 Bytes」です。 「40,000 Bytes」 までは表示されます。
Time HeatMap
リクエスト一覧をレスポンス時間で色分けします。レスポンス時間に応じて「背景色」が以下となります:
- 緑色:レスポンス時間は、50ミリ秒未満
- 無色:レスポンス時間が、50ミリ秒以上、300ミリ秒未満
- 黄色:レスポンス時間が、300ミリ秒以上、500ミリ秒未満
- 赤色:レスポンス時間が、500ミリ秒以上

Block script/image/SWF/CSS files
それぞれJavaScript、画像、SWFファイル、CSSファイルのリクエストを404エラー(Not Found:ファイル/ページが存在しない)で応答します。
例えば、「Block image files」チェックボックスを選択すると、以下の様に、画像が非表示の状態となります:

Response Headers グループボックス
リクエスト一覧に対して、以下2種類の操作を行います:
・特定の条件に合致するレスポンス行を太字にする機能
・HTTPレスポンスヘッダの特定項目を追加/削除する機能
具体的に選択できる項目は、以下の4項目となります。それぞれを詳細に説明します:
- Flag responses that set cookies
- Flag responses with headers
- Delete response headers
- Set response header

Flag responses that set cookies
リクエスト一覧の中で、クッキーが設定されているレスポンスを太字で表示します。
Flag responses with headers
リクエスト一覧の中で、特定のヘッダ情報を含んでいるレスポンスを太字で表示します。以下は、Flag responses with headersに「Server」と入力した場合のリクエスト一覧です(#71が入力前のキャプチャ、#74が入力後にキャプチャ。#74は、太字になっているのが分かります):

Delete response headers
HTTP(S)レスポンスの中から指定したレスポンスヘッダを削除します。
Set response header
HTTP(S)レスポンスの中に指定したレスポンスヘッダを追加します。複数のレスポンスヘッダを追加する場合は、AutoResponder機能を使用してください。
Filters機能の説明は以上です。