Fiddler 휴대폰 패킷 캡처/시뮬레이터 패킷 캡처 구성 에이전트에는 네트워크 문제가 없습니다.

최근 작업에는 앱에 대한 네트워크 패킷 캡처가 필요합니다.fiddler 도구를 설치하고 Yeshen 시뮬레이터를 사용하여 휴대폰 패킷 캡처를 시뮬레이션했습니다.모든 구성이 구성되었지만 앱이 여전히 인터넷에 연결할 수 없습니다.현재 솔루션은 다음과 같이 기록됩니다. :


【문제 원인】

휴대폰이나 시뮬레이터에 Fiddler 인증서를 설치하면 인증서가 사용자 인증서 디렉터리에 설치되는데 Android 7.0 이후 애플리케이션은 기본적으로 시스템 인증서만 신뢰하고 사용자 인증서는 신뢰하지 않으므로 두 가지 방법이 있습니다. . 1. Fiddler 인증서를 시스템 인증서 디렉터리에 설치하고 시스템 인증서로 위장합니다. 2. Android 5.0 버전 휴대폰 또는 에뮬레이터를 사용합니다. 아래 첫 번째 방법을 사용합니다.

1. 피들러 인증서 내보내기

1. 이 작업을 수행하기 전에 피들러가 설치 및 구성되었는지 확인하세요!
2. 먼저 fiddler를 닫은 다음 fiddlercertmaker.exe 도구를 다운로드하고 다운로드한 fiddlercertmaker.exe를 두 번 클릭합니다(Fiddler가 닫혔는지 확인). 인증서 가져오기가 성공했음을 알리는 대화 상자가 나타나면 확인을 클릭합니다.
여기에 이미지 설명을 삽입하세요.

3. Fiddler 인증서를 컴퓨터 바탕 화면으로 내보냅니다. 도구 -> 옵션 -> HTTPS -> 작업 -> 루트 인증서를 바탕 화면으로 내보내기

여기에 이미지 설명을 삽입하세요.

완료되면 FiddlerRoot.cer 인증서가 컴퓨터 바탕 화면에 나타납니다.
여기에 이미지 설명을 삽입하세요.

2. openssl 설치

1. openssl 다운로드 주소 로 이동하여 Windows 버전의 openssl을 다운로드합니다.

여기에 이미지 설명을 삽입하세요.
2. 설치 클릭 후 다음 클릭 3. 설치가 완료되면 환경변수 설정이
필요하며 , 설치 디렉터리 중 bin 디렉터리를 환경변수로 설정합니다.
여기에 이미지 설명을 삽입하세요.

4. 터미널을 열고 엔터를 치 openssl version거나 엔터를 치면 openssl설치가 성공했다는 메시지가 다음과 같이 나옵니다.

여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.

3. 인증서 형식 변환

1. Fiddler 인증서를 인증서 cer로 변환하고 cmd에 다음 명령을 입력합니다.pemopenssl 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

pem2. 인증서 값을 계산하려면 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:62001Yeshen 시뮬레이터에 연결합니다(표시되는 경우 'adb' 不是内部或外部命令,也不是可运行的程序 或批处理文件。SDK 설치 경로에서 플랫폼 도구 경로를 찾아 cmd를 입력하여 터미널을 열어야 합니다)
2. cmd 입력 adb shell
3, cmd 입력 cd /system/etc/security,
4 . cmd 입력 ls -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