作為一名測試或開發(fā)人員,如果你的Fiddler突然不能抓取請求了,想必一定是非常苦惱。某人最近遭遇了 Web端瀏覽器 無法抓取Https請求,手機(jī)端瀏覽器無法抓取全部請求等種種問題,再此總結(jié)下,希望能幫助有問題的童鞋。
如果你的Fiddler 突然不能抓取請求了,可以從以下幾個(gè)角度試試看:
Web瀏覽器的請求,F(xiàn)iddler不能抓取的解決方法:
1、是否有新安裝代理相關(guān)的插件?
如有安裝管理代理的插件,插件會屏蔽Fiddler的設(shè)置,此時(shí)把插件禁掉、或者設(shè)置默認(rèn)的代理就可以解決了。
2、Chrome瀏覽器訪問任何一個(gè)Https的鏈接 都提示不安全,每個(gè)鏈接都要反復(fù)點(diǎn)擊信任并前往不安全的鏈接,如下圖所示。
雖然關(guān)閉Fiddler可以解決這個(gè)問題,但顯然不是我們想要的結(jié)果。
這種情況的發(fā)生是因?yàn)镃hrome 不信任 Fiddler的根證書,需要去更換證書。
Fiddler直接提供了不同攔截證書,這個(gè)時(shí)候的選擇Tools——Options——Https——點(diǎn)擊藍(lán)色的證書鏈接,進(jìn)行更換。
更換完成后還需重置Fiddler的證書。具體的位置在 Tools——Options——Https——Actions——Reset All Certificates
如果你的證書被誤刪,導(dǎo)致瀏覽器無法訪問https鏈接,可以直接Reset一下。
這里 訪問 Https的同學(xué)也可以對...from all processes 這個(gè)選項(xiàng)注意,如果僅選擇了從客戶端抓取,在Web瀏覽器上同樣不會被捕捉請求,from all processees 就是獲取到全部請求的意思,可默認(rèn)選擇。
手機(jī)端瀏覽器的請求,F(xiàn)iddler不能抓取的解決方法:
1、Fiddler是否打開 客戶端請求抓取?
Tools——Options——Connections,里面的Allow remote computers to connect 一定要勾選。修改后,注意需要重新打開Fiddler。
2、Fiddler 是否被準(zhǔn)許監(jiān)聽8888端口?
CMD命令行里 執(zhí)行 netstat -anop tcp 命令,可以查看 Fiddler是否正常監(jiān)聽默認(rèn)的8888端口,如果服務(wù)沒有開啟,同樣在Tools——Options——Connections里,修改端口號,如上圖的顯示。修改后 仍然要記得關(guān)閉重新打開Fiddler才生效。
當(dāng)端口過多時(shí),可根據(jù)netstat -ano|findstr "端口號",查看Fiddler是否成功占用當(dāng)前端口號。
我們可以從上圖中發(fā)現(xiàn)端口8889被6900的進(jìn)程所占用,那tasklist|findstr "6900" 就可以定位到 當(dāng)前占用這個(gè)端口號的進(jìn)程就是Fiddler。
3、防火墻被攔
防火墻或者一些360類似的殺毒軟件,我們可以在防火墻下設(shè)置為fiddler通過。
iOS 10.3 Fiddler突然不能抓取Https的鏈接的解決方法:
設(shè)置——通用——關(guān)于本機(jī)——證書信任設(shè)置
iOS 10.3以后,需要手動對證書進(jìn)行信任,否則無法獲取https的請求,不知道的很坑有木有。
Fiddler 攔截證書:
http://www.telerik.com/blogs/understanding-fiddler-certificate-generators
Chrome 官網(wǎng)回答不支持Fiddler的解決方案:
https://textslashplain.com/2017/03/10/chrome-deprecates-subject-cn-matching/
Fiddler 抓取鏈接配置的基本教程:
https://i.wanz.im/2013/04/30/debugging_http_request_with_fiddler/