Fiddler抓取PC端瀏覽器請(qǐng)求
1、Fiddler代理瀏覽器設(shè)置
注意瀏覽器代理區(qū)別 Chrome/IE瀏覽器使用的都是系統(tǒng)代理設(shè)置
在chrome瀏覽器的設(shè)置中搜索代理,可以看到
打開(kāi)IE瀏覽器,選擇設(shè)置->Internet選項(xiàng)
Firefox瀏覽器使用的是單獨(dú)的一套代理系統(tǒng)
在Firefox的代理設(shè)置中,我們也可以選擇使用系統(tǒng)代理
2、打開(kāi)Fiddler
Fiddler打開(kāi)之后默認(rèn)是可以抓取到Chrome/IE瀏覽器的請(qǐng)求的。
這是因?yàn)镕iddler默認(rèn)會(huì)勾選“Act as system proxy on startup”,此選項(xiàng)會(huì)在Fiddler啟動(dòng)的時(shí)候作為系統(tǒng)代理:
我們會(huì)發(fā)現(xiàn)系統(tǒng)代理設(shè)置已經(jīng)被Fiddler篡改,端口和Fiddler中保持一致:
這也就是為什么Fiddler啟動(dòng)之后默認(rèn)可以抓取到Chrome/IE的請(qǐng)求,如果Firefox也想默認(rèn)抓取到,按照之前的設(shè)置,選擇使用系統(tǒng)代理即可。
此時(shí)我們只能抓取到http的請(qǐng)求,如果我們需要抓取https請(qǐng)求,還需要做如下配置。
3、勾選解密https流量選項(xiàng)
選擇Tools->Options->HTTPS,勾選"Decrypt HTTPS traffic"和“Ignore server certificate errors (unsafe)”選項(xiàng):
4、安裝證書(shū)到系統(tǒng)根證書(shū)中
點(diǎn)擊右上角Actions,選擇Trust Root Certificate選項(xiàng),跳出來(lái)的對(duì)話框全部選擇是或者yes即可
最后會(huì)出現(xiàn)如下提示,表示證書(shū)已經(jīng)成功安裝到了系統(tǒng)根證書(shū)區(qū)域
我們可以打開(kāi)cmd,輸入cert.msc,打開(kāi)證書(shū)管理器,即可看到安裝的Fiddler偽裝證書(shū)
重啟瀏覽器,重啟Fiddler,特別重要!!!
打開(kāi)Chrome/IE,可以愉快的抓取https請(qǐng)求了
Fiddler可以通過(guò)安裝證書(shū)解決https請(qǐng)求的抓取問(wèn)題,此時(shí)在瀏覽器面前Fiddler偽裝成一個(gè)https服務(wù)器,用戶(hù)可以將Fiddler的偽裝證書(shū)導(dǎo)入到系統(tǒng)的根證書(shū)中。
而瀏覽器是默認(rèn)信任系統(tǒng)的根證書(shū)的,此時(shí)Fiddler作為中間人在真正的服務(wù)器面前偽裝成瀏覽器的角色。
Firefox額外設(shè)置
Firefox瀏覽器和Chrome/IE證書(shū)管理有區(qū)別,Chrome/IE使用的是系統(tǒng)根證書(shū),而Firefox有自己的一套證書(shū)管理系統(tǒng)
所以針對(duì)Firefox,我們還需要做另外的配置:
1、導(dǎo)出Fiddler證書(shū)到桌面
選擇Tools->Options->HTTPS,點(diǎn)擊右上角Actions,選擇Export Root Certificate to Desktop,此時(shí)在桌面可以找到導(dǎo)出來(lái)的證書(shū)
2、安裝證書(shū)到Firefox的內(nèi)置根證書(shū)中
進(jìn)入到Firefox的設(shè)置->搜索證書(shū)選->打開(kāi)證書(shū)管理器,選擇桌面的證書(shū)文件導(dǎo)入進(jìn)來(lái),勾選如下三個(gè)選項(xiàng)
重啟瀏覽器,重啟Fiddler,特別重要!!!
打開(kāi)Firefox,抓取Https請(qǐng)求也沒(méi)問(wèn)題了。
Fiddler抓取App端請(qǐng)求
準(zhǔn)備工作:
- 將手機(jī)和電腦連接到同一路由器(保證兩者能夠ping通)
- 如果使用的模擬器則不需要上面的步驟,因?yàn)槟M器是共享PC端的網(wǎng)絡(luò),兩者網(wǎng)絡(luò)默認(rèn)就是連通的狀態(tài)
- 查詢(xún)PC端的IP地址
1、配置fiddler可以抓取遠(yuǎn)程端設(shè)備請(qǐng)求
打開(kāi)Tools->Options->Connections,勾選Allow remote computers to connect選項(xiàng)
為了防止PC端的瀏覽器的請(qǐng)求和App端的請(qǐng)求信息混亂,可以把Fiddler的監(jiān)聽(tīng)端改下,比如改成:7777(當(dāng)然,不改也是可以的)。
2、手機(jī)端配置代理
進(jìn)入到手機(jī)/模擬器設(shè)置,選擇WLAN->連接上的WiFi熱點(diǎn)名->手指長(zhǎng)按,選擇修改網(wǎng)絡(luò)->勾選高級(jí)選項(xiàng),代理選擇手動(dòng)(注意:不同手機(jī)的界面和進(jìn)入的路徑存在一些差異)
- 代理服務(wù)器主機(jī)名:PC端查詢(xún)的IP地址
- 代理服務(wù)器端口號(hào):Fiddler中配置的監(jiān)聽(tīng)端口
此時(shí)我們只能抓取到http的請(qǐng)求,如果我們需要抓取https請(qǐng)求,還需要做如下配置。
3、手機(jī)端安裝Fiddler偽裝證書(shū)
在手機(jī)端瀏覽器中輸入
http://192.168.1.222:7777 其中192.168.1.222為PC端的IP地址
點(diǎn)擊最下方鏈接即可下載Fiddler證書(shū)
下載完打開(kāi),會(huì)提示為證書(shū)命名(隨便給一個(gè)名字即可)
如果是第一次安裝證書(shū),系統(tǒng)會(huì)提示設(shè)置PIN碼(為了安全),按照提示一步一步操作即可
最后安裝結(jié)束,我們可以在設(shè)置->安全->信任的憑據(jù)->用戶(hù) 中找到我們安裝的證書(shū)(注意:不同手機(jī)的界面和進(jìn)入的路徑存在一些差異)
打開(kāi)App(注意:如果之前有啟動(dòng),需要從后臺(tái)清理掉再重新啟動(dòng)),以"貝殼找房"為例,https請(qǐng)求抓取成功
會(huì)遇到的問(wèn)題:
證書(shū)導(dǎo)出失敗,出現(xiàn)如下提示:The root certificate could not be located
解決方案:
- 在開(kāi)始->運(yùn)行輸入:certmgr.msc打開(kāi)證書(shū)管理
- 點(diǎn)擊操作->查找證書(shū)
- 輸入fiddler,進(jìn)行查找,將查找出來(lái)的所有證書(shū)進(jìn)行刪除:
再重啟Fiddler,重新導(dǎo)出證書(shū)
會(huì)遇到的問(wèn)題:
證書(shū)導(dǎo)出失敗,出現(xiàn)如下提示:Unable to configure windows to Trust the Fiddler Root....
解決方案:
找到fiddler->工具欄tools->options,再選擇HTTPS,點(diǎn)擊CertEnroll engine,選擇MakeCert即可點(diǎn)擊OK保存,最后切記重啟fiddler!!!
說(shuō)明:本文為檸檬班歪歪老師原創(chuàng),轉(zhuǎn)載需注明出處






