fiddler app https抓包

fiddler手機抓包原理

fiddler手機抓包的原理與抓pc上的web數據一樣,都是把fiddler當作代理,網絡請求走fiddler,fiddler從中攔截數據,由於fiddler充當中間人的角色,所以可以解密https

下面開始手機抓包設置教程

設置fiddler抓包

File—–>勾選capture traffic

設置抓https和解密https

Tools—–>fiddler options—–>https—–>capture https traffic—->decrypt https traffic—>Ignore server certificate errors

由於我們只抓手機的,所以這裏選擇 from remote clients only

這裏寫圖片描述

connections—–>allow remote computers to connect
由於是手機連接代理,所以勾選allow remote computers to connect
這裏寫圖片描述

給fiddler安裝certmaker插件

由於默認的證書不符合android和ios的證書要求,所以,需要下載certmaker插件,雙擊安裝後,重啓fiddler。注意這一步很重要,必須使用certmaker插件,不要使用默認的證書生成器,否則抓不到包。
這裏寫圖片描述

設置手機代理

手機與pc在同一個網段

首先保證手機與pc在同一個局域網中
鼠標移動到fiddler右上角的Online,查看pc的ip,192.168.1.106
這裏寫圖片描述

手機ip是,192.168.1.101,跟pc在同一個網段。
這裏寫圖片描述

設置手機代理

找到連接的無線,設置代理,代理ip要與online中的ip一致
這裏寫圖片描述

手機安裝根證書

在瀏覽器中,輸入http://192.168.1.106:8888, 點擊最下邊的FiddlerRoot certificate,確定安裝。

這裏寫圖片描述

效果

至此全部都設置完了,我們來看下效果,以手機web版qq爲例,截圖是空間“贊”的請求
這裏寫圖片描述

後續的問題

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

這裏寫圖片描述

抓不到https包

很多網友問我,按照教程來了,但是抓不到包,關於這個問題,這裏統一答覆。

fiddler抓不到的情況分析

fiddler並不是支持全部協議

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

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


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

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


修正不能抓取包問題

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


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

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


重新安裝證書

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

抓取 手機百度app 登陸請求效果圖
這裏寫圖片描述

參考

fiddler抓包for ios

fiddler抓包for android



原文轉載至:http://blog.csdn.net/wangjun5159/article/details/52202059

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