Fiddler中如何抓取app中https(443端口)數據


Fiddler不但能截獲各種瀏覽器發出的HTTP請求, 也可以截獲手機發出的HTTP/HTTPS請求,總結下Fiddler截獲IPhone和Android發出的HTTP/HTTPS包,前提條件是:安裝Fiddler的機器,跟Iphone、Android在同一個網絡里, 否則手機不能把HTTP發送到Fiddler的機器上來。

如果你遇到了這個坑:手機上已經設置好代理,開啟代理后,卻發現手機上不了網。

那么應該是和電腦防火牆有關,此時需要設置下防火牆,如過設置無效或者不知道怎么設置的話直接將防火牆暫時性關閉吧。

一、准備工作

不論IPhone、Android,首先都需要配置Fiddler,打開Fiddler,Tools->Telerik Fiddler Options...(配置完后記得要重啟Fiddler)。
選中"Decrpt HTTPS traffic",Fiddler就可以截獲HTTPS請求
選中"Allow remote computers to connect",是允許別的機器把HTTP/HTTPS請求發送到Fiddler上來,如圖

 

三、Android上安裝Fiddler證書

這一步是為了讓Fiddler能捕獲HTTPS請求。如果你只需要截獲HTTP請求,可以忽略這一步

1. Android設置代理服務器,打開wifi設置頁面,找到連接的網絡,進入“修改設置”,修改代理為手動

勾選“顯示高級選項”,在接下來顯示的頁面中,點擊“代理”,選擇“手動”,在“代理服務器主機名”和“代理服務器端口”中寫上電腦在WiFi中的地址和上面設置的端口號(8888),最后點“保存”。

代理設置如下:

 

2. 導證書到Android設備
Fiddler本質上是一個HTTPS代理服務器,其自己帶的證書顯然不會在Android設備的受信任證書列表里。
有些應用程序會查看服務器端的證書是否是由受信任的根證書簽名的,如果不是就直接跳出。
所以,為了保險起見,我們要將Fiddler代理服務器的證書導到Android設備上。
導入的過程非常簡單,打開設備自帶的瀏覽器,在地址欄中輸入代理服務器的IP和端口,例如本例中我們會輸入192.168.1.167:8888,進入之后會看到一個Fiddler提供的頁面:

 

輸入一個證書名稱(這里自己填寫即可),然后直接點“確定”就好了。

 

二、如果你使用的是iPhone的話

1. 首先要知道Fiddler所在的機器的IP地址:假如我安裝了Fiddler的機器的IP地址是:192.168.1.104
2. 打開IPhone 的Safari,訪問  http://192.168.1.104:8888, 點"FiddlerRoot certificate",然后安裝證書

3. IPhone上配置Fiddler,打開IPhone,找到網絡連接,打開HTTP代理,輸入Fiddler所在機器的IP地址(比如192.168.1.104)以及Fiddler的端口號8888。

 

最后,這種方法的一些優點和缺點。

優點:1)手機不需要root就可以抓包;     2)可以用真機抓包,有些程序是抗動態分析的,能夠判斷自己運行在模擬器中。

缺點:1)必須要用WiFi連接(沒有路由器的話可以在筆記本上下載個WiFi程序即可,網上有很多。或者台式機使用移動WiFi,淘寶有很多,10來塊一個);    2)要抓包分析的應用程序必須自己支持代理服務器的設置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM