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