최근 작업에는 앱에 대한 네트워크 패킷 캡처가 필요합니다.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에 다음 명령을 입력합니다.pem
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
pem
2. 인증서 값을 계산하려면 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
.pem
ren 电脑桌面证书路径 证书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 설치 경로에서 플랫폼 도구 경로를 찾아 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 패킷 캡처에 대한 자세한 튜토리얼