フィドラーは:
HTTPデバッグ用のクロスプラットフォームプロキシサーバーアプリケーション。これにより、ユーザーは、ローカルコンピューターから、ローカルコンピューターへ、またはローカルコンピューターを介してアクセスされるHTTP、HTTPS、および有効なTCPポートトラフィックを表示できます。これには、HTTPヘッダーやメタデータ(Cookie、キャッシュ、エンコード情報など)を含む要求と応答が含まれ、開発者とテスターが接続を分析してメッセージを交換するのに役立つように設計された機能が含まれます。
最初のステップ
1.インストールと起動
まず、アプリケーションをダウンロードしてインストールする必要があり ます。
MACまたはLinuxオペレーティングシステムを使用している場合は、適切なセクションに移動して、FiddlerEverywhereの特別なバージョンをダウンロードする必要があります 。この記事では、Fiddler Classic forWindowsの操作について説明します。
2.スニッフィング用のブラウザの選択
まず、プロキシするブラウザを選択しましょう。例として、MozillaFirefoxブラウザを取り上げます。これを行うには、[参照]タブ->に移動し、 必要なブラウザーを選択します。
3.トラフィックのスニッフィングを開始します
必要なブラウザを選択したら、証明書をインストールする必要があります。これを行うには、[ツール] -> [ オプション]タブに移動します 。
開いたダイアログボックスで、[ HTTPS ]タブを選択する必要があります 。
次に、[ HTTPSトラフィックの復号化]チェックボックスを選択する必要があります 。次に、証明書のインストールを許可します。
証明書をインストールしたら、YulaのWebサイトなどのブラウザーで開きます。左側のセクションには、ホストへのリクエスト
api.youla.io
だけでなく、すべてのリクエストが表示されます 。リクエストの中から、たとえば、すべての商品の発行に必要なリクエストを選択します。
https://api.youla.io/api/v1/products
応答をデコードするには、「応答本文がエンコードされています」をクリックする必要があります 。クリックしてデコードします。"。
4.Androidでプロキシを設定する
Androidアプリのプロンプトを表示するには、リモート接続を許可する必要があります。これを行うには、[ツール] -> [ オプション]タブに移動します 。開いたダイアログボックスで、[接続]タブを選択する必要があります 。
次に、「リモートコンピュータの接続を許可する」および「FTP要求をキャプチャする」 チェックボックスを選択する必要があります 。 Fiddlerはポート8888でリッスンしています(これはデフォルトのポートです。上記の設定から変更できます)。設定を適用するには、「OK」をクリックしてFiddlerを再起動します。
次に、Androidデバイスを構成する必要があります。電話を取り、開きます ネットワークプロパティ→ WiFiネットワーク名→ プロキシサーバー→ 手動→ ホスト名:* IP * / ポート:* 8888 *→変更したネットワークプロパティを保存します(FiddlerがインストールされているPCのIPアドレスが表示されます)。
リンク
http://ipv4.fiddler:8888
をたどってFiddlerRoot証明書をダウンロードすると、証明書の自動ダウンロードが開始されます。それを開き、証明書の名前を設定すると、Androidアプリケーションのトラフィックにアクセスできるようになります。
例として、Yulaアプリケーションに移動して、任意の製品のカードを開きます。画面の左側に、製品カードのリクエストが表示されます。これらは次のとおりです。
https://api.youla.io/api/v1/product/5fc60e5e211e77413a1dc323
..。そして、右上部分には-要求要求、右下には-応答があります。「応答本文はエンコードされています」をクリックすることを忘れないでください 。クリックしてデコードします。「応答をデコードします。
5.iOSでプロキシを設定する
iPhoneを手に取り、[ ネットワークプロパティ] →[ WiFiネットワーク名] →[ プロキシサーバー] →[ 手動] →[ ホスト名:* IP * / ポート:* 8888 *→変更したネットワークプロパティを保存します。
次に、リンクをたどり、
http://ipv4.fiddler:8888
FiddlerRoot証明書をダウンロードし、構成プロファイルのダウンロードを「 許可」する必要があります。
次に、に行く 設定→ プロファイルをロード→ インストールしてください。
その後に行く 設定→ 一般→ このデバイスについて→ トラスト証明書がインストールされた証明書を見つけて、それを「作る→ 信頼できます」。
例として、Yulaアプリケーションに移動して、任意の製品のカードを開きます。左側に、カード製品のリクエストがあります
https://api.youla.io/api/v1/product/5fc60e5e211e77413a1dc323
。そして、右上部分には-要求要求、左下には-応答があります。応答をデコードするには、「応答本文がエンコードされています」をクリックする必要があります 。クリックしてデコードします。"。
クエリの操作
右側のリクエストとレスポンスが配置されているウィンドウには、追加のツールがあります。
統計-1つのリクエストと選択した一連のリクエストの両方についてさまざまな統計を取得できます。
インスペクター-ヘッダーを表示し、さまざまな形式でデータを要求できます。
フィルタ-特定のリクエストを追跡できます。
タイムライン-タイムライン上で完了したリクエストを視覚的に表現します。
FiddlerClassicでのデータスプーフィング
クライアントでレイアウトをテストする必要があると想像してみましょう。多数のユーザーボーナスがどのように表示されるかを確認する必要があります。多くの人が提供するオプションの1つは、データベース内のボーナスの数を変更し、クライアントを確認することです。はい、あなたは正しいでしょう!ただし、サーバーにキャッシュがある場合があり、ボーナスの数が更新されるまでしばらく待つか、データベース自体に接続してリクエストを実行する必要があります。これには一定の時間がかかります。より簡単なオプションがあります:サーバーからの応答を変更してください!Fiddler Classicには、データスプーフィングのためのいくつかのオプションがあります。それらのいくつかを見てみましょう。
1.1自動ブレークポイント
ブレークポイントは、リクエストの一種のブレークポイントです。指定されたリストからリクエストが見つかると、右側に表示され、操作できます。
まず、リクエスト、つまりリクエストにブレークポイントを設定しましょう。さんがに行こう ルール- > 自動ブレークポイント「を選択 要求する前に」
レッツは、ユーザーの要求を実行
https://api.youla.io/api/v1/user/5e6222bbbedcc5975d2375f8
し、クライアントからの要求を実行した後に、我々の場合には、それはユラアンドロイドアプリケーションである、リクエスト要求が右側に表示されています。編集できます。
リクエストを送信するには、[実行して完了]をクリックし ます。リクエストはサーバーに送信されます。
しかし、たとえば、ユーザーがクライアントに対して持つボーナスの数を変更したいとします。これを行うには、サーバーからの応答を変更する必要があります。それでは、「選択させる 応答した後で、」 ルール> - 自動ブレークポイント。
現在、アカウントに45のボーナスがあるアプリケーションとユーザープロファイルがあります。
この数のボーナスが来るリクエスト:
https://api.youla.io/api/v1/user/5e6222bbbedcc5975d2375f8
画面の左側に、サーバーからの応答が表示されます。
必要なパラメータを見つけます-"bonus_cnt":45。次に、bonus_cntパラメーターの値をたとえば1,000,000ボーナスに変更し、[実行して完了]をクリックします 。
新しい金額のボーナスがクライアントに表示されます。私達はリッチ!
1.2自動応答
AutoResponderは、リクエストの一種の停止点です。指定されたリストからリクエストが見つかると、右側に表示され、操作できます。
必要なリクエストを選択して、右側にドラッグしましょう。
ドラッグすると
、次のようになります。 次に、ルールを変更する必要があります。これを変更します。
METHOD:PUT EXACT:https://api.youla.io/api/v1/user/5e6222bbbedcc5975d2375f8?adv_id=99d548bc-0ca0-434e-b016-24611313d9de&app_id=android%2F10777&uid=85c9a921c27fb0e8&usr_latitude=55.9332685&usr_longitude=37.5032966×tamp=1607977265
宛先:
REGEX:.+/user/5e6222bbbedcc5975d2375f8*
「/ user / 5e6222bbbedcc5975d2375f8」の前の部分は気にせず、[保存]をクリックして 保存します。次に、リクエストを右クリック-> [レスポンスの編集]を選択します 。
開いたウィンドウで、RAWに移動し、答えを
変更します。値を「45」から「1,000,000」に変更します。ボーナス:
「保存」をクリックして変更した回答を保存し、「ユーザープロファイル」画面を再リクエストしてみましょう。私達はリッチ:
スピードシミュレーション
この機能はスクリプトで提供されます。[ルール] -> [ ルール設定のカスタマイズ]に移動し、スクリプトブロックの値を編集することで、 その動作を変更できます。 この機能を有効にするには 、[ルール] -> [ パフォーマンス]に移動し、[モデム速度のシミュレーション]を選択します 。
if (m_SimulateModem) {
// 300 .
oSession ["-"] = "300";
// 150 .
oSession ["-"] = "150";
}
クエリの設計
自分でリクエストを送信して、応答を確認する必要があると想像してみましょう。このタスク用のリクエストビルダーツールがあります。このツールを使用すると、HTTPリクエストを自分で作成できます。例として、Yulaサービスのホーム画面から商品をリクエストしてみましょう。
まず、必要なメソッドを選択しましょう。この場合はGETリクエストです。次に、リクエスト自体を作成します
http://api.youla.io/api/v1/products
。次のステップは、[実行]をクリックしてリクエストを実行することです。左側に、完成した製品リクエストが表示されます。このリクエストを選択し、インスペクターツールを使用して、リクエストとレスポンスを確認しましょう。
概要
この記事では、モバイルおよびWebアプリケーションのテスターが使用するFiddlerClassicの機能のいくつかについて説明しました。それだけです。1つの楽器にとどまらず、さまざまなことを試してください。