Fiddler 抓取 https 請求大全


Fiddler抓取PC端瀏覽器請求

step1:Fiddler代理瀏覽器設置

注意瀏覽器代理區別
Chrome/IE瀏覽器使用的都是系統代理設置
在chrome瀏覽器的設置中搜索代理,可以看到

打開IE瀏覽器,選擇設置->Internet選項

Firefox瀏覽器使用的是單獨的一套代理系統
在Firefox的代理設置中,我們也可以選擇使用系統代理

step2:打開Fiddler

Fiddler打開之后默認是可以抓取到Chrome/IE瀏覽器的請求的,這是因為Fiddler默認會勾選“Act as system proxy on startup”,此選項會在Fiddler啟動的時候作為系統代理:

我們會發現系統代理設置已經被Fiddler篡改,端口和Fiddler中保持一致:

這也就是為什么Fiddler啟動之后默認可以抓取到Chrome/IE的請求,如果Firefox也想默認抓取到,按照之前的設置,選擇使用系統代理即可。
此時我們只能抓取到http的請求,如果我們需要抓取https請求,還需要做如下配置。

step3:勾選解密https流量選項

選擇Tools->Options->HTTPS,勾選"Decrypt HTTPS traffic"和“Ignore server certificate errors (unsafe)”選項:

step4:安裝證書到系統根證書中

點擊右上角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,我們還需要做另外的配置:

step1:導出Fiddler證書到桌面

選擇Tools->Options->HTTPS,點擊右上角Actions,選擇Export Root Certificate to Desktop,此時在桌面可以找到導出來的證書

step2:安裝證書到Firefox的內置根證書中

進入到Firefox的設置->搜索證書選->打開證書管理器,選擇桌面的證書文件導入進來,勾選如下三個選項

重啟瀏覽器,重啟Fiddler,特別重要!!!
打開Firefox,抓取Https請求也沒問題了。

Fiddler抓取App端請求

准備工作:

  • 將手機和電腦連接到同一路由器(保證兩者能夠ping通)
  • 如果使用的模擬器則不需要上面的步驟,因為模擬器是共享PC端的網絡,兩者網絡默認就是連通的狀態
  • 查詢PC端的IP地址

step1:配置fiddler可以抓取遠程端設備請求

打開Tools->Options->Connections,勾選Allow remote computers to connect選項,為了防止PC端的瀏覽器的請求和App端的請求信息混亂,可以把Fiddler的監聽端改下,比如改成:7777(當然,不改也是可以的)。

step2:手機端配置代理

進入到手機/模擬器設置,選擇WLAN->連接上的WiFi熱點名->手指長按,選擇修改網絡->勾選高級選項,代理選擇手動(注意:不同手機的界面和進入的路徑存在一些差異)

  • 代理服務器主機名:PC端查詢的IP地址
  • 代理服務器端口號:Fiddler中配置的監聽端口

此時我們只能抓取到http的請求,如果我們需要抓取https請求,還需要做如下配置。

step3:手機端安裝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!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM