fiddler 手機 https 抓包 以及一些fiddler沒法解決的https問題http二、tcp、udp、websocket證書寫死在app中沒法抓包

原文:android

https://blog.csdn.net/wangjun5159/article/details/52202059ios

fiddler手機抓包原理web

fiddler手機抓包的原理與抓pc上的web數據同樣,都是把fiddler看成代理,網絡請求走fiddler,fiddler從中攔截數據,因爲fiddler充當中間人的角色,因此能夠解密https瀏覽器

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

設置fiddler抓包websocket

File—–>勾選capture traffic網絡

設置抓https和解密httpsapp

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

因爲咱們只抓手機的,因此這裏選擇 from remote clients onlytcp

 

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並不支持所有協議,目前已知的有http二、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 登錄請求效果圖

參考

相關文章
相關標籤/搜索