目次
Fiddler で一般的に使用される関数は次のとおりです。
- キャプチャを停止する
- セッションウィンドウの内容をクリアします
- フィルタリクエスト
- デコード
- ブレークポイントを設定する
1. パケットのキャプチャを停止する
2. セッションウィンドウをクリアします
方法 1、ツールバー ツール:
方法 2、コマンドライン形式:
もちろん、コマンド ライン ツールは他のコマンドの入力もサポートしているため、ここでは詳しく説明しません。
3. リクエストのフィルタリング
Fiddler を開いてパケットをキャプチャすると、セッション ウィンドウに多くのリクエストが表示されますが、ターゲットのリクエスト データをキャプチャするだけで済み、その後フィルタリングを設定できます。
フィルタリングは、対象のリクエストのみを表示する方法と、対象側のリクエストのみを取得する方法の2つに分けられます。違いは、前者はすべてのリクエストを取得しますが、対象のリクエストの数のみを表示するのに対し、後者は特定のエンドのリクエスト データのみを取得することです。
対象のリクエストのみを表示
操作手順は以下のとおりです。
インターフェースの右側の下にあるように、さらに多くの条件をチェックしてフィルタリングして表示することもできますが、ここではあまり説明しませんので、興味のある方はご自身で試してみてください。
ターゲット側からのリクエストのみをフェッチします
たとえば、モバイル端末からのパケットのみをキャプチャしたい場合は、次のようにモバイル端末のみをキャプチャするようにリクエストを設定できます。
4. デコード
一部のリクエストを取得すると、次の図に示すように、返されたコンテンツに文字化けが発生します。
これが HTML が圧縮されている理由です。HTML は 2 つの方法で解凍できます。
方法 1:Responsebody is encoded.Click to decode.
次のように をクリックします。
方法 2 では、まずツールバーで を選択しDecode
、次にパケット キャプチャをリクエストします。これにより、表示されるリクエスト結果がデコードされた結果になります。次のように:
デコードされた結果を次の図に示します。
フィドラーキャプチャパッケージ:
ネットワーク全体のパケット キャプチャ シーリング チュートリアル、ステーション B が教える最も詳細な Fiddler/Charles パケット キャプチャ教育ビデオ。学ぶ 2 時間パッケージ_哔哩哔哩_bilibili https://www.bilibili.com/video/BV1tv4y1575S/?spm_id_from=333.999.0.0
5. ブレークポイントを設定する
場合によっては、デバッグ時にクライアントのリクエストとサーバーの応答を偽造する必要があり、この時点でブレークポイントを設定する必要があります。
偽のクライアントリクエスト
クライアント リクエストを偽造するには、つまり、クライアントがリクエストをクリックした後、リクエストをサーバーに正式に送信する前に、元のリクエスト パラメータを変更してリクエストを送信します。これには、ブレークポイントを設定する必要があり、その手順は次のとおりです。Before Requests
:
-
次の手順に示すように、メニュー オプションまたはショートカット キー F11 を使用して設定し、クリックして選択します
Before Requests
設定の最初のステップの後、再度パケットをキャプチャします。左側のセッション ウィンドウで、すべてのリクエストが中断済みとしてマークされていること、リクエストは正常に送信されなかったが Fiddler によって中断されたことがわかります。クライアントは次のことを確認できます。このときのデータのロード例外。
セッション ウィンドウで対応するリクエストを見つけ、クリックして選択し、右側で選択すると
Inspectors
、一連の操作バーが表示されます。クリックすると、Run to Completion
中断されたリクエストの送信を続行します。ただし、私たちの目的は、ブレークポイントの後にリクエスト データを変更してからリクエストを送信することです。
-
対応するリクエストを見つけてリクエストデータを変更します
Testerhome へのログインを例に挙げると、まずブレークポイントを に設定し
Before Requests
、ブラウザに正しいアカウント番号とパスワードを入力して、「ログイン」をクリックし、Fiddler でリクエストを見つけてパスワードをクリアし、「続行」をクリックしてリクエストを送信しますRun to Completion
。サーバーが結果を返します。以下で確認します。ブラウザーが正しいアカウントとパスワードを入力すると、ログインは成功するはずですが、Fiddler を介してポイントを中断した後、リクエストする前にログイン インターフェイスのリクエスト パラメーターを変更し、エラーを返します: アカウント番号またはパスワードが間違っています。再試行してください。
偽のサーバー応答
サーバー応答を偽造します。つまり、応答内容をクライアントに返す前に変更します。これには、ブレークポイントの設定が必要ですAfter Responses
。次に、TestHome Web サイトのログイン インターフェイスを例として、その応答コンテンツを変更します。次のように進めます。
-
まず、次のようにブレークポイント ルールを設定します
After Responses
。 -
通常のログイン後、TesterHome Web サイトのトップページにジャンプしますが、このとき、ログイン後に Baidu ページにジャンプするように戻りパラメータを変更でき、設定は次のとおりです。
上の図に示すように、図の戻りパラメータを Baidu アドレスに変更し (戻りパラメータは TextView フォームで変更できます)、クリックすると、ログインに成功した後、代わりに Baidu ページにジャンプすることがわかります
Run to Completion
。 TestHome ホームページの。
予防
ブレークポイントを設定する機能では、次の点に注意する必要があります。
-
Inspectors
では、リクエストWebForms
パラメータはリクエストパラメータ表示ウィンドウで、TextView
リターンパラメータはレスポンスパラメータ表示ウィンドウで変更できます。 -
メニュー オプションまたはショートカット キー F11 によるブレークポイント設定はグローバルに有効です。つまり、すべての HTTP リクエストにブレークポイントがマークされます。
-
特定のサーバーからのリクエストにブレークポイントを設定する必要があるだけの場合は、次の図に示すように、Fiddler のコマンド ライン ツールを使用してコマンドを入力できます。コマンドは 、コマンドは
Before Requests
です。bpu 服务器地址
After Response
bpafter 服务器地址
-
ブレークポイントを設定した後、ブレークポイントの設定をキャンセルする必要があり、ブレークポイントを設定する必要があります
Disabled
。操作は次のとおりです。 -
次の図に示すように、ショートカット ツールを使用してブレークポイントを設定することもできます。クリックして切り替えます。
6. まとめ
上記の関数に加えて、Fiddler には次のような他の関数もあります。
-
ネットワーク速度を制限します。弱いネットワーク テストをシミュレートするために使用されます。
-
簡単なインターフェーステスト
-
モック
-
サードパーティのプラグインと組み合わせて、より多くの機能を実現します