Fiddler 携帯電話パケット キャプチャ/シミュレータ パケット キャプチャ構成エージェントにはネットワークの問題はありません

最近の作業では、アプリのネットワーク パケット キャプチャが必要です。フィドラー ツールをインストールし、Yeshen シミュレーターを使用して携帯電話のパケット キャプチャをシミュレートしました。すべての構成は構成されましたが、アプリはまだインターネットに接続できません。解決策は次のように記録されています。 :


【問題の原因】

電話機またはシミュレータにフィドラー証明書をインストールすると、証明書はユーザー証明書ディレクトリにインストールされます。Android 7.0 以降のアプリケーションは、デフォルトでシステム証明書のみを信頼し、ユーザー証明書を信頼しないため、2 つの方法があります。この問題を解決するには。1. Fiddler 証明書をシステム証明書ディレクトリにインストールし、システム証明書に偽装する 2. Android 5.0 バージョンの携帯電話またはシミュレータを使用する 以下の最初の方法を使用します。

1. フィドラー証明書をエクスポートする

1. これを行う前に、フィドラーがインストールされ、設定されていることを確認してください。2. まず Fiddler を閉じてから、 fiddlercertmaker.exe
ツールをダウンロードし、ダウンロードした fiddlercertmaker.exe をダブルクリックします (Fiddler が閉じていることを確認してください)。証明書のインポートが成功したことを示すダイアログ ボックスが表示されます。[OK] をクリックします。
ここに画像の説明を挿入します

3. Fiddler 証明書をコンピュータのデスクトップにエクスポートします。[ツール] -> [オプション] -> [HTTPS] -> [アクション] -> [ルート証明書をデスクトップにエクスポート]

ここに画像の説明を挿入します

完了すると、FiddlerRoot.cer 証明書がコンピューターのデスクトップに表示されます。
ここに画像の説明を挿入します

2.opensslをインストールする

1. openssl ダウンロード アドレスに移動して、openssl の Windows バージョンをダウンロードします。

ここに画像の説明を挿入します
2. [インストール] をクリックし、[次へ] をクリックします3. インストールが完了したら、環境変数を設定する
必要があります. インストール ディレクトリの bin ディレクトリを環境変数に設定します。
ここに画像の説明を挿入します

4. ターミナルを開いて Enteropenssl versionまたは Enter を押すと、opensslインストールが成功したことを示す次のメッセージが表示されます。

ここに画像の説明を挿入します
ここに画像の説明を挿入します

3. 証明書形式の変換

1. Fiddlercer証明書を証明書に変換しpem、cmd に次のコマンドを入力します。openssl x509 -inform DER -in 电脑桌面证书路径.cer -out 电脑桌面证书路径.pem

openssl x509 -inform DER -in C:\Users\Administrator\Desktop\FiddlerRoot.cer -out C:\Users\Administrator\Desktop\FiddlerRoot.pem

2.pem証明書の値を計算するにはhash、次のコマンドを入力します。openssl x509 -inform PEM -subject_hash_old -in 电脑桌面证书路径

openssl x509 -inform PEM -subject_hash_old -in C:\Users\Administrator\Desktop\FiddlerRoot.pem

ここに画像の説明を挿入します
上の図は証明書のハッシュ値e5c3944bです。pem

3. 次のコマンドを使用して、証明書の名前e5c3944bを変更します。pemren 电脑桌面证书路径 证书hash值.0

ren C:\Users\Administrator\Desktop\FiddlerRoot.pem e5c3944b.0

4. 証明書をシステム ディレクトリにインストールします

ここではNight Godシミュレーターを使用しています

1. ターミナル入力を開きadb connect 127.0.0.1:62001、Yeshen シミュレーターに接続します (表示された場合は、'adb' 不是内部或外部命令,也不是可运行的程序 或批处理文件。SDK インストール パスで platform-tools パスを見つけ、「cmd」と入力してターミナルを開く必要があります)
2. cmd input adb shell
3、cmd input cd /system/etc/security
4。 cmd inputls -lビュー権限、これには書き込み権限がありません

ここに画像の説明を挿入します
5. 「cmd」と入力します。chmod 777 cacertsこれで、ディレクトリに対する書き込み権限が得られます。古い権限を再度入力して、ls -lディレクトリの権限を表示できます。
ここに画像の説明を挿入します
これで、書き込み権限が得られます。

chmod 777 cacerts「読み取り専用ファイル システム」という入力が表示され、
ここに画像の説明を挿入します
システムを再マウントする必要がある場合は、mount -o remount,rw /system再度入力するchmod 777 cacertsと成功します。

6. cmd と入力してexitシェル端末を終了し、次に adb Push C:\Users\Administrator\Desktop\e5c3944b.0 /system/etc/security/cacerts と入力し、変換済みの Fiddler 証明書を Yeshen の /system/ にプッシュします。 etc/security/cacerts ディレクトリに、
ここに画像の説明を挿入します
フィドラー証明書がシミュレータのシステム証明書ディレクトリにインストールされているので、Yeshen シミュレータを開きます。

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

これで完了です。fiddler 証明書がシステム ディレクトリにインストールされていることがわかります。
シミュレータがプロキシ IP とポートを設定していることを確認し、この時点で fiddler を開いてシミュレータのパッケージをキャプチャすると、ネットワークがないという問題は発生しません。

最後に、特別な感謝を!Android 7.0 以降のエミュレータ Fiddler パケット キャプチャに関する詳細なチュートリアル

おすすめ

転載: blog.csdn.net/m0_61427728/article/details/128351139