天天看點

fiddler抓取手機上https資料失敗,全部顯示“Tunnel to......443”解決辦法

與後端資料通信是前端日常開發的重要一環,在與後端接口聯調的時候往往需要通過檢視後端傳回的資料進行調試。如果在PC端,Chrome自帶的DevTools就已經足夠用了,Network面闆可以記錄所有網絡請求,檢視接口資料非常友善。但是在移動端就不能這樣幹了,手機上是無法直接檢視網絡請求資料的,這時候就需要一個能記錄網絡通信的工具,也就是抓包工具。來來回回嘗試了好幾個,Fiddler算是用起來最爽的了:)

Fiddler是一個免費的web調試代理,它能夠記錄、檢視和調試所有連接配接上的終端和遠端伺服器之間的http/https通信。閑話少叙,直接說如何調試手機上的頁面。

在電腦上安裝Fiddler之後,需要進行一些簡單的配置才能對手機上的網絡通訊進行捕獲。

如果想要捕獲手機上的通信資料,首先需要手機連接配接上Fiddler代理,而Fiddler預設是不允許其他裝置進行連接配接的,點選 Tools > Options...,在 Connections 面闆選中 Allow remote computers to connect 允許其他裝置連接配接(此操作需重新開機Fiddler生效),

fiddler抓取手機上https資料失敗,全部顯示“Tunnel to......443”解決辦法

然後在手機上連上Fiddler代理,貼上一張IOS配置代理截圖:

fiddler抓取手機上https資料失敗,全部顯示“Tunnel to......443”解決辦法

好了,現在Fiddler已經可以捕獲手機頁面上的http通信了。但是會發現捕獲了很多 Tunnel to 的會話,這是怎麼回事呢?原來這些都是https請求,而https是加密傳輸的,Fiddler預設是不對https進行解密的,如果想對https進行捕獲,需要繼續進行配置。

首先配置Fiddler對https進行解密,點選 Tools > Options...,在 HTTPS 面闆選中 Decrypt HTTPS traffic 解密https通信(此操作需重新開機Fiddler生效),

fiddler抓取手機上https資料失敗,全部顯示“Tunnel to......443”解決辦法

然後在手機上需要安裝Fiddler根證書,因為Fiddler是通過自己生成的證書對網絡請求重新簽名進行https會話解密的。證書的安裝方法就是在手機自帶浏覽器中通路FiddlerServer位址(比如10.200.8.155:8888),會出現 Fiddler Echo Service 頁面,下載下傳并安裝 FiddlerRoot certificate,

fiddler抓取手機上https資料失敗,全部顯示“Tunnel to......443”解決辦法

1.浏覽器輸入:電腦的IP位址192.168.60.30:8888,安裝證書——安裝後應該可以在安全——信任證書——使用者(個人)裡面看到       

2.IOS手機手機設定-通用-關于本機,最後一個受信任證書存儲區裡面,把fiddler的證書信任下       

3.安卓華為手機權限管理——軟體——信任此應用

經過這兩步設定之後,Fiddler就可以捕獲手機與伺服器之間的所有http/https通信了。

繼續閱讀