fiddler 手機 https 抓包 以及一些fiddler無法解決的https問題http2、tcp、udp、websocket證書寫死在app中無法抓包
原文:
https://blog.csdn.net/wangjun5159/article/details/52202059
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
---------------------
作者:乾淨的句號
來源:CSDN
原文:https://blog.csdn.net/wangjun5159/article/details/52202059
版權宣告:本文為博主原創文章,轉載請附上博文連結!