インターフェイス テスト支援、Fiddler は Android フォンの https リクエストをキャプチャします (詳細)


序文

Fiddler は、無料で柔軟性があり、操作が簡単で強力な HTTP プロキシ ツールであり、現在最も一般的に使用されているパケット キャプチャ ツールの 1 つです。

保有機能: すべてのHTTP/HTTPSパケットのキャプチャ、セッションのフィルタリング、リクエストの詳細の分析、クライアントリクエストの偽造、サーバー応答の改ざん、リダイレクト、ネットワーク速度制限、ブレークポイントのデバッグなど。

フィドラーの仕組み

Fiddler パケット キャプチャの実装原理: クライアント サーバーがメッセージと対話するとき、HTTP クライアントは Fiddler をプロキシとして設定し、http リクエストを Fiddler に送信し、Fiddler はそれをサーバーに転送します。

同様に、サーバーから返されたメッセージは、まず Fiddler に返され、次に Fiddler によってクライアントに転送されます。仲介者を介して二人が会話するのと同じように、この仲介者はフィドラーであり、彼は当然のことながらすべてを知っています。

ダウンロードとインストール

Fiddler のインストールについては特に説明する必要はありません。公式 Web サイトからダウンロードして直接インストールしてください。

HTTPS 証明書のインストール:
デフォルトでは、Fiddler は HTTP リクエストのみをリッスンできます。たとえば、Baidu の公式 Web サイト https://www.baidu.com/ を開き、Fiddler にアクセスしてそれを表示します。

D1

HTTPS リクエスト パケットをキャプチャするには、最初にそれを設定する必要があります。パス: [ツール] – [オプション] – [HTTPS] で、次のオプションをオンにします。

D2

D3

手順 4 で [アクション] をクリックし、[ルート証明書をデスクトップにエクスポート] を選択すると、プロンプトがポップアップ表示されます。

D4

携帯電話のパケット キャプチャを構成する

携帯電話で HTTP リクエストをキャプチャしたい場合は、携帯電話でも設定する必要があります。Apple と Android の設定方法には多くの違いがあることに注意してください。Android スマートフォンの異なるブランドや同じブランドの異なるモデルでも、同様の設定方法があります。Android スマートフォンを例に挙げます。

1. 携帯電話と fiddler を実行しているコンピューターが同じ Wi-Fi 信号接続を使用するなど、同じサブネットを使用していることを確認します。

2. 以下に示すように、リモート マシンがそれ自体に接続できるように Fiddler を設定し、メニュー オプションをクリックして、接続タブをクリックし、リモート コンピューターの接続を許可するにチェックを入れます。

D5

3. 電話機の Wi-Fi をオンにし、現在の Wi-Fi を選択し、[ネットワークの変更] をクリックして、[プロキシ設定] をクリックし、Fiddler が配置されているマシンのホスト名とポート (ipconfig で表示) およびプロキシ ポート 8888 を入力します。

この時点で、携帯電話で Baidu を開くと、Fiddler が正常に監視していることがわかりますが、HTTPS セッションを復号化できません。Fiddler を使用して携帯電話で HTTPS データ パケットをキャプチャしたい場合は、ダウンロードして携帯電話に Fiddler ルート証明書をインストールします。

携帯電話に Fiddler ルート証明書をダウンロードします:
ルート証明書アドレス: http://プロキシ サーバー アドレス: 8888/FiddlerRoot.cer

ダウンロードが完了したら、インストールします。

私の携帯電話を例に挙げると、インストール時に「セキュリティ上の理由から、「設定」に移動してインストールしてください」というメッセージが表示されます。

パスは次のとおりです。 [設定] – [セキュリティとプライバシー] – [その他のセキュリティ設定] – [電話ストレージからインストール] – [CA 証明書]。パスは電話によって異なる場合があるため、自分で見つけてください。

D6

この時点で、Fiddler は携帯電話からサーバーに送信されるすべての HTTP/HTTPS プロトコルをすでにキャプチャできます。

D7

このように、携帯電話のパケット キャプチャが正常に構成された場合でも、「ファイアウォールは Fiddler プロセスのリモート接続を許可する必要がある」ことに注意する必要があります。

補足:Android7以降でのパケットキャプチャ失敗問題の解決
また、環境構築後のプロセスにおいて、APPがHTTPSをキャプチャできない状況(Android7以降のシステム)が発生し、ビルドされた機能に問題がある可能性があります。 -アプリの証明書 - SSL ピン留めメカニズム (証明書ピン留めとも呼ばれます)

備考:
フィルタ条件の設定が必要、フィルタに設定

タイプ フィルタリング: 通常、さまざまな画像、CSS、JS などの静的マテリアルを確認する必要がない場合は、それらをすべて直接フィルタリングできます。

.*\.(bmp|css|js|gif|ico|jp?g|png|swf|woff) 

D8

以下は、私がまとめた 2023 年の最も完全なソフトウェア テスト エンジニア学習知識アーキテクチャ システム図です。

1. Pythonプログラミングの入門から習得まで

画像の説明を追加してください

2.インターフェース自動化プロジェクトの実戦

画像の説明を追加してください

3. Web自動化プロジェクトの実戦

画像の説明を追加してください

4. アプリ自動化プロジェクトの実戦

画像の説明を追加してください

5. 一流メーカーの再開

画像の説明を追加してください

6. DevOps システムのテストと開発

画像の説明を追加してください

7. 一般的に使用される自動テストツール

画像の説明を追加してください

8、JMeterのパフォーマンステスト

画像の説明を追加してください

9. まとめ(最後にちょっとしたサプライズ)

与えることによってのみ得られ、努力することによってのみ成功する 困難に直面してもひるむことなく、あらゆる困難を乗り越えるために努力する 自分の可能性を信じて勇敢に前進すれば、必ず創造できるあなた自身の輝きを!

闘争は成功へのはしごであり、困難や挫折に関係なく、一歩一歩を確実に前進させます。粘り強く努力することによってのみ、私たちは夢の光を追い求め、輝かしい未来を達成することができます。自分を信じて勇敢に前進し、自分自身の輝かしい章を築くために努力してください!

最善を尽くすことによってのみ、自分の無限の可能性を見ることができ、懸命に努力することによってのみ、成功の向こう側に到達することができます。困難や挑戦を恐れず、自分の粘り強さと努力を信じて、輝かしい未来に出会えるでしょう!

おすすめ

転載: blog.csdn.net/csdnchengxi/article/details/131704631