目次
2 番目のステップは、携帯電話ネットワーク プロキシを設定することです。
3 番目のステップでは、HTTPS 接続のキャプチャを許可します。
4 番目のステップは、携帯電話に証明書をインストールすることです。
序文
この記事では、ブロガーはわかりやすい言葉を使って、次のことを誰もが理解できるようにしたいと考えています。
- パケットキャプチャとは何ですか
- パケット キャプチャを使用する必要があるシナリオはどれですか
- Fiddler パケット キャプチャの原理
- Fiddler を使用してモバイル側でパケットをキャプチャする方法
グラブバッグ
パケット(Packet)とは、TCP/IPプロトコルの通信伝送におけるデータの単位であり、一般に「データパケット」とも呼ばれます。
通常、テストプロセスで参照するデータパケットとは、実際にはインターフェースが要求するデータであり、HTTPリクエストにはリクエストヘッダ情報、リクエスト内容、レスポンスヘッダ情報、レスポンス内容が含まれます。
パケットキャプチャとは何ですか
特定のツールを使用して、クライアントとサーバー間で送受信されるデータ パケットをキャプチャします。その目的は、特定のリクエストのリクエストパラメータとレスポンスパラメータをキャプチャしてパラメータが正しいかどうかを確認するなど、インターフェイスの設計が要件を満たしているかどうかを判断するために、データパケットのプロトコルとコンテンツを分析することです。
Fiddler パケット キャプチャ ビデオ チュートリアル:ネットワーク全体のパケット キャプチャ シーリング チュートリアル。ステーション B が教える最も詳細な Fiddler/Charles パケット キャプチャ教育ビデオ。学ぶ 2 時間パッケージ_哔哩哔哩_bilibili https://www.bilibili.com/video/BV1tv4y1575S/?spm_id_from=333.999.0.0
どのシナリオでパケットをキャプチャする必要がありますか?
インターフェイス テストを経験したことのない初心者や学生の場合、インターフェイス テストやインターフェイス自動化テストを行うときに、インターフェイス データのキャプチャ方法を学ぶ必要がある理由が理解できないかもしれません。
では、どのシナリオでリクエスト データを取得するためにパケットをキャプチャする必要があるのでしょうか?
-
バグを再現するため、問題を特定するためにデータを傍受する必要がある場合。
-
問題がフロントエンドのバグであるかバックエンドのバグであるかを判断する場合。
-
インターフェイス テストを行う場合、開発者がインターフェイス ドキュメントを提供していない場合は、インターフェイス情報を取得するためにパケットをキャプチャする必要があります。
-
特定の機能シナリオでどのインターフェイスが呼び出されるのかがわからない場合、またはインターフェイス呼び出しのシーケンスがわからない場合。
-
戻りパラメータを変更する必要がある場合 (モックまたはその他のシナリオの場合)
実際のテスト プロセスで最もよく使用されるシナリオは 1、2、3、4 です。
バイオリン弾き
Wireshark、Fiddler、Charlse、Tcpdump、ブラウザ ツール (F12) など、さまざまな種類のパケット キャプチャ ツールがありますが、ソフトウェア テストでは、パケット キャプチャ オブジェクトは通常 HTTP プロトコル インターフェイスであるため、最も一般的なものはブラウザです。ツール、Fiddler/Charlse 。
Fiddler の機能を簡単にまとめると次のようになります。
-
Fiddler は、クライアントとサーバー間の HTTP/HTTPS リクエストをキャプチャし、インターフェイス リクエストにブレークポイントを設定し、入出力データを変更することもできます。
-
Fiddler は HTTP/HTTPS プロトコルのみを取得できます
-
Fiddler は、PC 側のブラウザでのパケットのキャプチャに加えて、モバイル端末でのパケットのキャプチャもサポートしています
バイオリン弾きのキャプチャ原理
通常、私たちはブラウザを使用して Web を閲覧するか、携帯電話で APP を使用します。そのやり取りは、次の簡略化されたフローチャートで表すことができます。
クライアント (PC またはモバイル) はデータ対話のために HTTP リクエストをサーバーに送信します。私たちの要件は、この対話中にデータをキャプチャすることです。
クライアントとサーバーの間に仲介者を追加するだけで、クライアントとサーバーの間で交換されるデータはすべてこの仲介者を通過し、仲介者はそれ自体を通過するデータを記録するため、クライアントとサーバー間の特定の対話が可能になります。データが得られること。
Fiddler
はこの仲介的な役割を果たすことができ、対話プロセスは次のとおりです。
開始とは、Fiddler
実際にはプロキシ Web サーバー (プロキシ) を開始することです。プロキシ アドレスは127.0.0.1
、ポートは です8888
。127.0.0.1:8888
HTTP リクエストがプロキシ (Fiddler) 経由で送受信される限り、Fiddler は自身を通過する HTTP リクエスト データを記録し、HTTP リクエストの関連データをキャプチャします。
127.0.0.1:8888
また、HTTP リクエストをプロキシ経由にするにはどうすればよいでしょうか? Fiddler を起動すると、IE ブラウザのプロキシが127.0.0.1:8888
プロキシアドレスとして自動的に設定されますが、Chrome と Firefox はブラウザで手動で変更する必要があり、モバイル端末では携帯電話で設定する必要があります。
インストール
公式ウェブサイトにアクセスしてダウンロードし、
入力内容は以下の通り入力できます Windowsの場合は、「Windows用ダウンロード」をクリックすると、そのページにジャンプし、ダウンロードが開始されます(ダウンロードがない場合は、あと2回試してください)。ダウンロードはありません。ジャンプするページの指示に従ってクリックしてください。
ダウンロード後、インストールファイルを入手してFiddlerSetup.exe
、バカのためにひたすらインストールしてください。現在ダウンロードされているバージョンは ですProgress Telerik Fiddler Classic
。
インストールが完了したら、Fiddler を開きます。メイン インターフェイスは次のとおりです。
-
図に示すように、インスペクターに切り替えてリクエスト パラメーターを表示し、対応するリクエストのパラメーターを返します。
-
リクエスト パラメーターと戻りパラメーターのさまざまな内容と形式を表示するには、図の対応する表示ウィンドウ (ヘッダー、WebForms、Raw、Json など) の上部にあるタブ ボタンを切り替えることができます。
-
セッションウィンドウアイコンの説明については、記事の最後にある説明を参照してください。
次に、Fiddler を使用して携帯電話上のパケットをキャプチャする方法を紹介します。
フィドラーキャプチャパッケージ:
ネットワーク全体のパケット キャプチャ シーリング チュートリアル、ステーション B が教える最も詳細な Fiddler/Charles パケット キャプチャ教育ビデオ。学ぶ 2 時間パッケージ_哔哩哔哩_bilibili https://www.bilibili.com/video/BV1tv4y1575S/?spm_id_from=333.999.0.0
Fiddler モバイル端末のキャプチャ
まず、モバイル端末でパケットをキャプチャするという一般的な考え方を繰り返してみましょう。
-
Fiddler は、リモート コンピューター接続を許可するように、つまり携帯電話がパケットをキャプチャできるように設定する必要があります。
-
携帯電話が Fiddler プロキシを介して HTTP 要求を送信するように、携帯電話プロキシ ネットワーク プロキシを設定します (つまり、Fiddler がデータ送受信の仲介者として機能します)。
-
httpsリクエストのパケットキャプチャ設定(httpリクエストのみをキャプチャする場合は上記2ステップで十分ですが、実際の作業ではhttpsリクエストのデータをキャプチャする必要がある場合が多いです)。
上記の考え方に従って、具体的な設定を行っていきます。
ステップ 1: リモート コンピュータの接続を許可する
設定手順: [ツール] --> [オプション] --> [接続] --> [リモート コンピュータの接続を許可する] にチェックを入れて --> [OK] をクリックします。以下の図に示すように、他のデフォルトのままで問題ありません。
確認後、確認のポップアップが表示される場合は[OK]をクリックしてください。ちなみに、上記ページの8888
デフォルトのポート番号は、設定の2段階目で使用するデフォルトのポート番号です。
2 番目のステップは、携帯電話ネットワーク プロキシを設定することです。
まず最初に、次の図に示すようにIPv4
、Fiddler がインストールされているコンピューターのアドレスを取得し、それを cmd に入力する必要があります。ipconfig
次に、携帯電話で対応するネットワークを見つけてWLAN
、ネットワーク プロキシを設定します。Honor V20 携帯電話を例として、操作手順を次の図に示します。
携帯電話システム設定 --> WLAN --> ネットワークの変更 --> 詳細オプション --> プロキシ --> 手動を選択 --> 前の手順でホスト名を入力します IPv4 --> ポートをデフォルトの 8888 に入力します。 ->保存
知らせ:
-
携帯電話はコンピュータと同じネットワーク、つまり、携帯電話がコンピュータに直接接続されている WIFI またはホットスポットに接続し、このネットワークのプロキシ設定を構成する必要があります。そうしないと、データをキャプチャできません。
-
ステップ 2 ネットワークの変更を選択した場合、携帯電話のモデルが異なると、ネットワーク変更ページに入るために異なる操作が必要になる場合があります。
この時点で、Fiddler を再起動した後、電話で http 要求をキャプチャできます。取得できない場合は、上の図のプロキシ設定を携帯電話に再度保存して、リクエストを行うことができます。このステップに到達したら、次の図に示すように、携帯電話で APP 操作を開き、パケットの http リクエストをキャプチャします。
ここでは http リクエストのみがキャプチャされていることがわかりますが、https リクエストをキャプチャしたい場合は、次の操作を実行する必要があります。
3 番目のステップでは、HTTPS 接続のキャプチャを許可します。
設定手順: [ツール] --> [オプション] --> [HTTPS] --> [HTTPS トラフィックの復号化] にチェックを入れます --> [サーバー証明書エラーを無視する] にチェックを入れます --> [OK] をクリックします
設定を保存して有効にするには、Fiddler を再起動する必要があることに注意してください。
4 番目のステップは、携帯電話に証明書をインストールすることです。
次のように進めます。
- 携帯電話上の任意のブラウザを選択し、2 番目の手順で設定したプロキシ アドレスを入力します。ホストは Fiddler がインストールされているコンピューターの IPv4 アドレス、ポート番号はデフォルトの 8888 です。
1
開いたWebページでFiddlerRoot certificate
「証明書のダウンロード」をクリックします。
Android 携帯電話の場合はこの手順で十分ですが、Apple 携帯電話の場合は、携帯電話の設定でダウンロードした証明書を信頼する必要があります。証明書を信頼する操作手順はここでは説明しません。
これら 2 つの手順を完了すると、携帯電話から送信された http リクエストと携帯電話から送信された https リクエストの両方をキャプチャできるようになります。携帯電話で Toutiao アプリを開き、次のように確認します。
この時点で、Fiddler モバイル端末のパケット キャプチャの設定は完了です。
次のように、セッション ウィンドウ アイコンの説明を添付します。