fiddler 手機 https 抓包

fiddler手機抓包原理

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

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

設置fiddler抓包

File—–>勾選capture trafficweb

設置抓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 
這裏寫圖片描述websocket

給fiddler安裝certmaker插件

因爲默認的證書不符合android和ios的證書要求,因此,須要下載certmaker插件,雙擊安裝後,重啓fiddler。注意這一步很重要,必須使用certmaker插件,不要使用默認的證書生成器,不然抓不到包。 
這裏寫圖片描述網絡

設置手機代理

手機與pc在同一個網段

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

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

設置手機代理

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

手機安裝根證書

在瀏覽器中,輸入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 登錄請求效果圖 
這裏寫圖片描述

參考

fiddler抓包for ios 
fiddler抓包for android

打賞

若是你以爲本文寫得好,請鼓勵一下,謝謝~~ 
這裏寫圖片描述

相關文章
相關標籤/搜索