最近工作需要對(duì)app進(jìn)行網(wǎng)絡(luò)抓包,安裝了fiddler工具,使用夜神模擬器模擬手機(jī)抓包,各種配置都配置完了,但是app還是不能聯(lián)網(wǎng),現(xiàn)將解決方法記錄如下:
【問題原因】
當(dāng)我們?cè)谑謾C(jī)或者模擬器安裝fiddler證書時(shí),證書都是安裝在用戶證書目錄下的,Android7.0版本之后的應(yīng)用是默認(rèn)只信任系統(tǒng)證書,不信任用戶證書的,所以我們有兩種方法去解決這個(gè)問題。1、將Fiddler證書裝到系統(tǒng)證書目錄下,偽裝成系統(tǒng)證書,2、使用Android5.0版本的手機(jī)或者模擬器,下面使用第一種方法。
1、導(dǎo)出fiddler證書
1、在此之前請(qǐng)確保你的fiddler已經(jīng)安裝配置完成!
2、首先關(guān)閉fiddler,然后下載fiddlercertmaker.exe工具,雙擊下載好的fiddlercertmaker.exe(確保已關(guān)閉Fiddler),會(huì)彈出提示導(dǎo)入證書成功這個(gè)對(duì)話框,點(diǎn)擊確定
3、導(dǎo)出fiddler證書到電腦桌面,Tools -> Options -> HTTPS -> Actions -> Export Root Certificate to Desktop
完成之后在電腦桌面會(huì)出現(xiàn)一個(gè)FiddlerRoot.cer證書
2、安裝openssl
1、到openssl下載地址下載好windows版的openssl
2、點(diǎn)擊安裝,一路點(diǎn)擊下一步
3、安裝完成后需要配置環(huán)境變量,將安裝目錄的bin目錄配置到環(huán)境變量
4、打開終端輸入openssl version
或者輸入openssl
出現(xiàn)下圖信息表示安裝成功
3、證書格式轉(zhuǎn)換
1、將Fiddler cer
證書轉(zhuǎn)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、計(jì)算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
證書的hash值。
3、使用e5c3944b
對(duì)pem
證書重命名,命令如下:ren 電腦桌面證書路徑 證書hash值.0
ren C:\Users\Administrator\Desktop\FiddlerRoot.pem e5c3944b.0
4、安裝證書到系統(tǒng)目錄
這里我使用的是夜神模擬器
1、打開終端輸入adb connect 127.0.0.1:62001
連接夜神模擬器(如果出現(xiàn)'adb' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序 或批處理文件。
那么需要找到SDK安裝路徑下的platform-tools路徑,輸入cmd打開終端即可)
2、cmd 輸入adb shell
3 、cmd 輸入 cd /system/etc/security
,
4、cmd 輸入 ls -l
查看權(quán)限,此時(shí)沒有寫入的權(quán)限
5、cmd 輸入chmod 777 cacerts
此時(shí)對(duì)目錄擁有寫入權(quán)限,可以再次輸入老ls -l
查看目錄權(quán)限
現(xiàn)在已經(jīng)擁有寫入權(quán)限。
如果輸入chmod 777 cacerts
出現(xiàn) Read-only file system
需要重新掛載一下系統(tǒng),輸入mount -o remount,rw /system
再次輸入chmod 777 cacerts
就成功了。
6、cmd輸入exit
退出shell終端,然后輸入adb push C:\Users\Administrator\Desktop\e5c3944b.0 /system/etc/security/cacerts,將事先轉(zhuǎn)換好的Fiddler證書推送到夜神模擬器的/system/etc/security/cacerts目錄下
此時(shí)已經(jīng)將fiddler證書安裝到了模擬器的系統(tǒng)證書目錄里了,打開夜神模擬器
大功告成!可以看到fiddler證書已經(jīng)安裝到系統(tǒng)目錄了。
確保模擬器設(shè)置好了代理IP和端口,此時(shí)打開fiddler抓取模擬器的包就不會(huì)出現(xiàn)沒有網(wǎng)絡(luò)的問題了。文章來源:http://www.zghlxwxcb.cn/news/detail-420244.html
最后,特別感謝!Android 7.0+模擬器Fiddler抓包詳細(xì)教程文章來源地址http://www.zghlxwxcb.cn/news/detail-420244.html
到了這里,關(guān)于fiddler手機(jī)抓包/模擬器抓包配置代理沒有網(wǎng)絡(luò)問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!