fiddler抓取手機APP數據

1、下載fiddler

Fiddler官網下載地址:http://www.fiddler2.com/fiddl

2、安裝fiddler

安裝過程就是下一步下一步最後完成即可,安裝好了以後需要配置一些內容

3、設置fiddler

3.1 設置允許抓取HTTPS信息包

打開下載好的fiddler,找到 Tools -> Options,然後在HTTPS的工具欄下勾選Decrpt HTTPS traffic,在新彈出的選項欄下勾選Ignore server certificate errors。這樣,fiddler就會抓取到HTTPS的信息包

在這裏插入圖片描述

3.2 設置允許外部設備發送HTTP/HTTPS到fiddler

在Connections選項欄下勾選Allow remote computers to connect

在這裏插入圖片描述

4、設置手機端

設置手機端之前,我們需要記住一點:電腦和手機需要在同一個網絡下進行操作。 可以使用wifi或者手機熱點等來完成。

假如你已經讓電腦和手機處於同一個網絡下了,這時候我們需要知道此網絡的ip地址,可以在命令行輸入ipconfig簡單的獲得,如圖。

在這裏插入圖片描述

下面來對Android手機進行代理設置

確定一下手機和PC是連接在同一個局域網中

進入手機的設置->點擊進入WLAN設置->選擇連接到的無線網,長按彈出選項框:如圖所示:

Fiddler 監聽手機請求地址詳細教程

將代理設置成手動,將上面獲取到的ip地址和端口號填入,點擊保存。這樣就將我們的手機設置成功了。

解決手機連不上同一IP網絡問題:https://blog.csdn.net/shuiziliu1025/article/details/80911811

5、下載Fiddler的安全證書

使用Android手機的瀏覽器打開:http://192.168.1.96:8888, 點"FiddlerRoot certificate" 然後安裝證書,如圖:

img

6、測試

最後就是來測試下,打開手機隨便一個APP,去訪問裏面的內容,這時打開fiddler可以看到所發出的網絡請求。
在這裏插入圖片描述

7、分析數據

通過觀察fiddler中的請求可以發現http://api.douguo.net/personalized/home/0/20,這個就是請求首頁中的部分數據,直接把地址複製到網頁中可以看到返回的JSON數據
在這裏插入圖片描述

8、後續的問題

同理,也可以抓取手機QQ、支付寶、淘寶等,不過手機QQ有些走的http2協議,所以抓不到,這種情況就得用wireshark抓包了,不過抓取後,解密是個問題。

1. fiddler抓不到的情況分析

fiddler並不支持全部協議,目前已知的有http2、tcp、udp、websocket等,如果應用走了以上協議,那麼fiddler肯定是抓不到的。

http2:因爲fiddler是基於.net framework實現的,因爲 .net framework不支持http2,所以fiddler無法抓取http2

2. 證書寫死在app中,fiddler不能抓取

fiddler抓包的原理是中間人攻擊,也就是說,兩頭瞞,欺騙客戶端&&欺騙服務器端,如果https證書寫死在app裏,也就是說,app不信任fiddler頒發給它的證書,app只信任自己的證書,fiddler沒法瞞客戶端了,因此fiddler也就抓取不到包了。
再多說幾句,如果是自己開發的app,開發調試方便起見,可以使用類似wireshark的工具導入服務器證書,抓包解密。

3. 修正不能抓取包問題

除了上述已知不能抓包的情況,其他情況都應該能抓取。以下是排查,修正問題的步驟。

4. 確認能否抓到手機瀏覽器的百度首頁

因爲百度是https加密的,所以如果配置正確肯定是可以抓到的。注意,我這裏說的是三個條件,手機、瀏覽器、百度網頁的首頁,這些條件,都得滿足 。

5. 重新安裝證書

如果抓不到,可以確定是配置有問題。覈實fiddler使用certmarker插件並且在手機上也安裝了;如果已安裝,則重新安裝。 如果還不work,那麼,重新生成證書,電腦和手機都重新安裝,然後重啓fiddler。一般來說,重新安裝手機上的證書就解決問題了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章