手機上無法直接查看網絡請求數據,需要使用抓包工具。Fiddler是一個免費的web調試代理,可以用它實現記錄、查看和調試手機終端和遠程服務器之間的http/https通信。
注:如果手機上不方便,可以下載逍遙模擬器,一樣的操作方法,切記不要用夜神了,感覺夜神現在越做越垃圾
fiddler沒有手機客戶端,都是安裝在PC上,要實現對手機上的程序抓包,則需要對PC上的fiddler和手機端做一些配置。步驟如下:
一、PC端fiddler配置
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.1.106。
image
二、手機端配置
需要在移動終端(手機或pad)上指定代理服務器為Fiddler所在主機IP(需要處于同一網絡),端口默認8888。
1. 接入網絡
要保證手機和安裝有fiddler的電腦處在同一局域網內,手機能ping通電腦。方法:家用或辦公環境把PC和手機WLAN連接上同一個路由器的無線SSID獲取到同一網段內的IP地址即可。臺式機要插入無線網卡才能連WiFi,最好用筆記本電腦和手機連同一WiFi很方便。如下圖,我的手機IP是192.168.1.104,與電腦192.168.1.106可互通,就能訪問192.168.1.106:8888。
2. 手機安裝根證書
在手機上需要安裝Fiddler根證書,因為Fiddler是通過自己生成的證書對網絡請求重新簽名進行https會話解密的,如果不安裝證書的話只能抓取HTTP請求。
(1)手機和電腦連接同一個網絡,打開手機瀏覽器,輸入Fiddler Server地址http://ipv4.fiddler:8888/(因為fiddler裝在PC上,所以Fiddler Server地址就是PC的IP地址,帶上端口號8888,我的是http://192.168.1.106:8888/), 跳轉到 Fiddler Echo Service 證書下載頁,點擊FiddlerRoot certificate下載并安裝;
(2) 為證書命名后點擊確定;
(3)要求設置一個手機密碼,自己設置一個,記住密碼就行,最后不用了去系統-安全-密碼中去掉即可;
3. 手機代理設置
更改手機無線網的代理方法:打開系統設置-WLAN,長按WiFi接入的SSID修改網絡,點擊高級選項,代理選擇手動,主機名輸入fiddler的電腦ip地址192.168.1.106,端口號輸入8888,保存即可。
三、抓包
PC上和手機上的配置完成后就可以操作手機,在電腦上用fiddler抓包了,比如訪問一些網站和APP,fiddler中就會顯示捕獲到的手機上HTTP/HTTPS通訊記錄,抓包成功。
四、還原手機狀態
抓包結束后,需要手動還原手機狀態,方法如下(不同機型可能有些微差別):
(1) 停止電腦對手機的網絡監控:系統設置-WLAN,長按wifi修改網絡,高級選項找到代理,去掉手動代理即可;
(2)刪除手機中證書:安卓系統設置 系統 設備安全 受信任的憑據 用戶 ,點擊證書刪除即可;
(3) 刪除手機上密碼:手機系統—安全—密碼,刪除系統密碼即可。