fiddler抓取手機(jī)https請(qǐng)求詳解

前言:

Fiddler是在 windows下常用的網(wǎng)絡(luò)封包截取工具,在做移動(dòng)開發(fā)時(shí),我們?yōu)榱苏{(diào)試與服務(wù)器端的網(wǎng)絡(luò)通訊協(xié)議,常常需要截取網(wǎng)絡(luò)封包來分析,fiddler默認(rèn)只能抓取http請(qǐng)求,需要配置和安裝fiddler證書才能抓取https請(qǐng)求。

fiddler抓取手機(jī)https請(qǐng)求詳細(xì)步驟:

1,官網(wǎng)免費(fèi)下載fiddler后,點(diǎn)擊安裝,安裝成功后,打開fiddler后如下圖:


2,打開Tools–> Options–> Connections選項(xiàng)中勾選Allow remote computers to connect (允許遠(yuǎn)程計(jì)算機(jī)連接),選擇監(jiān)聽端口8889(可自己配置,默認(rèn)為8888),配置完如下圖:


3,打開Tools–> Options–>HTTPS,勾選Decrypt HTTPS traffic ,選擇from remotes client only(從遠(yuǎn)程客戶端),同時(shí)勾選Ignore server certificate errors(unsafe)配置完如下圖:


4, 打開Tools–> Options–>HTTPS,點(diǎn)擊Actions中的Trust Root Certificate,添加fiddler證書到列表中:一直確定,就成功添加fiddler證書到本機(jī)列表了;


5,打開Tools–> Options–>HTTPS,點(diǎn)擊Actions中的Export Root CertificateTo Desktop,將fiddler證書導(dǎo)出到桌面:


6,在 android的 “ 設(shè)置 ”–>“ 無線局域網(wǎng) ” 中,可以看到當(dāng)前連接的 wifi 名,通過點(diǎn)擊右邊的詳情鍵,可以看到當(dāng)前連接上的 wifi 的詳細(xì)信息,包括 IP 地址,子網(wǎng)掩碼等信息。在其最底部有「HTTP 代理」一項(xiàng),我們將其切換成手動(dòng),然后填上 android運(yùn)行所在的電腦的 IP,以及前面設(shè)置的端口號(hào) 8889,如下圖所示:(此處以oppo手機(jī)為例)


7,將fiddler證書FiddlerRoot.cer從電腦傳到手機(jī)端,點(diǎn)擊設(shè)置–>其他設(shè)置–>安全與隱私–>從存儲(chǔ)設(shè)備安裝證書–>選擇證書–>安裝安裝成功就可以抓https的包啦~



*安裝中出現(xiàn)的問題:

1,在步驟6后,手機(jī)安裝fiddler證書的步驟網(wǎng)絡(luò)上很多是通過訪問電腦ip+代理端口,就能訪問fiddler證書下載頁,進(jìn)行下載安裝fiddler證書;樓主用的win10的系統(tǒng),再確認(rèn)手機(jī)代理打開且設(shè)置正確后,訪問電腦ip+端口后報(bào)錯(cuò),不能訪問下載頁,如下圖所示:


不能訪問電腦ip+端口,網(wǎng)上各種百度后,網(wǎng)友提供的解決方案如下:

1, 確認(rèn)防火墻允許訪問,并且確保電腦端未裝殺毒軟件和各種安全衛(wèi)士;(win10系統(tǒng)默認(rèn)裝了聯(lián)想殺毒等軟件,不能卸載,導(dǎo)致此條不能排除)

2,? ?確認(rèn)在防火墻的高級(jí)設(shè)置中80端口能訪問:如果不能正確的導(dǎo)出證書請(qǐng)下載FiddlerCertMaker證書生成器


總結(jié):樓主最后無法排除問題一,故選擇繞開IP訪問,采用的導(dǎo)出證書然后傳到手機(jī)端的方式,就可成功安裝fiddler證書哦~


*不同機(jī)型安裝fiddler證書:

1,oppo手機(jī)和vivo手機(jī),點(diǎn)擊證書后,不能直接安裝,要通過設(shè)置中的更多設(shè)置的安全與隱私去添加認(rèn)證證書,詳細(xì)步驟如下:

ANDROID:設(shè)置 —> 安全 —> 從手機(jī)存儲(chǔ)安裝(或者是:設(shè)置 —> 其他設(shè)置 —> 設(shè)備與隱私 —> 從存儲(chǔ)設(shè)備安裝證書),找到需要安裝的證書,安裝即可

*注意:android7.0以下版本以上設(shè)置后直接可以抓包了,但android7.0以后版本有一個(gè)名為“Network Security Configuration”的新安全功能。這個(gè)新功能的目標(biāo)是允許開發(fā)人員在不修改應(yīng)用程序代碼的情況下自定義他們的網(wǎng)絡(luò)安全設(shè)置。如果應(yīng)用程序的SDK高于或等于24,則只有系統(tǒng)證書才會(huì)被信任。不讓信任外部(用戶導(dǎo)入)證書;

手機(jī)的根證有兩種,一種是系統(tǒng)預(yù)裝的,一種是用戶自己導(dǎo)入的:如下圖所示:


?所以:Android的源代碼需要讓研發(fā)來改動(dòng),只改成測試和release的可以就行。

方法一:添加如下文件res/xml/network_security_config.xml到代碼里面,請(qǐng)求域名;? ? ? ?? ? ? ? ?? ? ? ? ?? ??

方法二:或者在AndroidManifest.xml文件中加入以下配置:Android:networkSecurityConfig="@xml/network_security_config"大功告成,配置完即可抓包。

方法三:修改http請(qǐng)求框架的協(xié)議棧,讓框架不驗(yàn)證證書

如果想抓取第三方應(yīng)用包,解決方法如下:

方法一:通過重打包的方式強(qiáng)行修改配置,或者強(qiáng)行降低 targetSdkVersion,或者強(qiáng)行修改別人源碼里面的信任證書的代碼,然后再重打包就好了(分別針對(duì)上面1,2,3里面所說的方法,只不過通過逆向的方式添加);

方法二:通過使用Xposed的JustTrustMe模塊來信任所有的證書,Xposed不會(huì)用的;

方法三:使用Android 7.0 以下的系統(tǒng)安裝應(yīng)用,并抓包;

2,huaiwei手機(jī)安裝fiddler證書,點(diǎn)開證書后,可以直接安裝;安裝后直接可以抓取https的包;

3,蘋果手機(jī)安裝fiddler證書,安裝步驟如下:

IOS:設(shè)置 —> 通用 —> 關(guān)于本機(jī) —> 受信任證書存儲(chǔ)區(qū),找到需要安裝的證書,安裝即可。

*注意: iOS10系統(tǒng)以上需要進(jìn)行設(shè)置:設(shè)置 -> 通用 -> 關(guān)于本機(jī) -> 證書信任設(shè)置 -> 針對(duì)根證書啟用完全信任 打開開關(guān);?最后注意:不抓包請(qǐng)關(guān)閉手機(jī)HTTP代理,否則斷開與電腦連接后會(huì)連不上網(wǎng);?

以上~對(duì)你有幫助的話,點(diǎn)個(gè)喜歡??吧~~

歡迎關(guān)注我的同名簡書,博客,Github~~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文部分內(nèi)容參考果殼網(wǎng)對(duì)HTTPS的介紹,這里是原文鏈接:http://www.guokr.com/post/11...
    OliverGao閱讀 3,916評(píng)論 3 29
  • 在測試過程中,抓包是必不可少的測試分析手段,F(xiàn)iddler不但能截獲PC端數(shù)據(jù)包, 也可以截獲移動(dòng)端的。特別是你對(duì)...
    wwking閱讀 6,109評(píng)論 0 3
  • 相信我們的讀者中有不少是做手機(jī)測試的同學(xué),如果我們的被測APP是有網(wǎng)絡(luò)交互功能的(比如說一個(gè)電商APP或者論壇AP...
    OliverGao閱讀 5,672評(píng)論 2 4
  • 在實(shí)際的測試過程中,我們難免需要去修改某個(gè)請(qǐng)求的返回結(jié)果或請(qǐng)求數(shù)據(jù)。這個(gè)時(shí)候,我們一般會(huì)借助某個(gè)工具去實(shí)現(xiàn),比如f...
    小陳已被注冊(cè)閱讀 1,306評(píng)論 0 0
  • 我們的情景教學(xué) 這是一次現(xiàn)場教學(xué),在前一天因?yàn)闀鴮憜栴}撕了他的作業(yè),那樣的字是用枯樹枝搭起來的簡陋的茅屋,是許多墨...
    為為道來閱讀 461評(píng)論 1 0

友情鏈接更多精彩內(nèi)容