手機上無法直接查看網絡請求數據,需要使用抓包工具。Fiddler是一個免費的web調試代理,可以用它實現記錄、查看和調試手機終端和遠程服務器之間的http/https通信。
一、Fiddler的工作原理
Fiddler在瀏覽器與服務器之間建立一個代理服務器。Fiddler 是以代理web服務器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 當Fiddler退出的時候它會自動注銷,這樣就不會影響別的程序。
二、Fiddler的使用場景
1、開發環境的host配置;
2、前后端接口聯調
3、定位線上bug——將發布文件代理到本地,快速定位線上bug;
4、性能分析和優化——Inspectors 、Timeline
三、Fiddler下載安裝
官網: http://www.telerik.com/feddler
下載地址: https://www.telerik.com/download/fiddler
四、Fiddler配置
Fiddler沒有手機客戶端,都是安裝在PC上,要實現對手機上的程序抓包,則需要對PC上的Fiddler和手機端做一些配置。
1、PC端配置
1)安裝HTTPS證書
手機上的應用很多涉及到個人信息,采用比較安全的HTTPS加密過,而fiddler默認只捕獲http會話而不抓取HTTPS報文,導致打開fiddler后就打不開https網頁(比如百度),解決辦法:打開Fiddler->Tool->Fiddler Options->HTTPS tab,勾選上並Capture HTTPS CONNECTs(捕獲 HTTPS 連接)和 Decrypt HTTPS traffic (HTTPS 請求解密),並安裝證書(首次使用無證書,會彈出是否信任fiddler證書和安全提示,直接點擊yes就行),重啟Fiddler生效。

2)允許手機遠程連接
如果想要捕獲手機上的通信數據,就需要手機連接上Fiddler代理,而Fiddler默認是不允許其他設備進行連接的,解決辦法:點擊 Fiddler->Tools -> Options,在 Connections 面板選中 Allow remote computers to connect 允許其他設備連接(此操作需重啟Fiddler生效)。

3)查看IP地址
電腦ip地址可通過cmd命令行輸入ipconfig查詢,或網絡連接信息中找到,最直觀的方法是將鼠標置於fiddler右上角的online中即可顯示電腦的ip地址。如下圖我的IP是192.168.40.107。
2、手機端配置
1)接入網絡
要保證手機和安裝有fiddler的電腦處在同一局域網內,手機能ping通電腦。方法:家用或辦公環境把PC和手機WLAN連接上同一個路由器的無線SSID獲取到同一網段內的IP地址即可。台式機要插入無線網卡才能連WiFi,最好用筆記本電腦和手機連同一WiFi很方便。
2)手機安裝根證書
在手機上需要安裝Fiddler根證書,因為Fiddler是通過自己生成的證書對網絡請求重新簽名進行https會話解密的,如果不安裝證書的話只能抓取HTTP請求。
a. 手機和電腦連接同一個網絡,打開手機瀏覽器,輸入Fiddler Server地址http://ipv4.fiddler:8888/(因為fiddler裝在PC上,所以Fiddler Server地址就是PC的IP地址,帶上端口號8888,我的是http://192.168.40.107:8888/), 跳轉到 Fiddler Echo Service 證書下載頁,點擊FiddlerRoot certificate下載並安裝。
b. 為證書命名后點擊確定。

3)手機代理設置
更改手機無線網的代理方法:打開系統設置-WLAN,長按WiFi接入的SSID修改網絡,點擊高級選項,代理選擇手動,主機名輸入fiddler的電腦ip地址192.168.40.107,端口號輸入8888,保存即可。
注意:抓包結束后,如需還原手機狀態,可參考如下步驟實現:
(2)刪除手機中證書:安卓系統設置 系統 設備安全 受信任的憑據 用戶 ,點擊證書刪除即可;
五、Fiddler抓包
PC上和手機上的配置完成后,可以操作手機訪問一些網站和APP,PC端的fiddler中就會顯示捕獲到的手機上HTTP/HTTPS通訊記錄,實現抓包。