抓包工具 - Fiddler(如何捕獲Android數(shù)據(jù)包)
移動設(shè)備訪問網(wǎng)絡(luò)原理
先看看移動設(shè)備是怎么去訪問網(wǎng)絡(luò),如圖所示,可以看到,移動端的數(shù)據(jù)包是從wifi出去的。
可以看得出,移動端的數(shù)據(jù)包,都是要走wifi出去,所以我們可以把自己的電腦開啟熱點(diǎn),將手機(jī)連上電腦,F(xiàn)iddler開啟代理后,讓這些數(shù)據(jù)通過Fiddler,F(xiàn)iddler就可以抓到這些包,然后發(fā)給路由器(如圖):
二、Fiddler抓取android數(shù)據(jù)包所需條件
1、電腦需要安裝Fiddler
2、測試手機(jī)需要支持Wifi
3、測試手機(jī)與電腦需要同一網(wǎng)絡(luò)
4、所測APP需支持代理
注:Iphone、Ipad、WinPhone等支持代理手機(jī)均適用
打開Wifi熱點(diǎn),讓手機(jī)連上(我這里用的360wifi,其實(shí)隨意一個(gè)都行)
打開Fidder,點(diǎn)擊菜單欄中的 [Tools] –> [Fiddler Options]
Connections,設(shè)置代理端口:8888, 勾選 Allow remote computers to connect,即允許遠(yuǎn)程計(jì)算機(jī)連接Fiddler.
注:8888為默認(rèn)端口號,可修改,但需注意兩點(diǎn),一是本機(jī)空閑端口,二是手機(jī)代理設(shè)置時(shí)要與fiddler的端口一致。
3、設(shè)置解密HTTPS的網(wǎng)絡(luò)數(shù)據(jù)
Tools –> Options-> Https,勾選”Decrypt HTTPS traffic”、”Ignore server certificate errors”,
4、查看本機(jī)的無線網(wǎng)卡IP
設(shè)置了上面的步驟后,就可以在 Fiddler看到自己本機(jī)無線網(wǎng)卡的IP了(要是沒有的話,重啟Fiddler,或者可以在cmd中ipconfig找到自己的網(wǎng)卡IP,注:一定要開啟本機(jī)的wifi熱點(diǎn)),
也可以在CMD中查看本機(jī)網(wǎng)卡的IP,輸入命令:ipconfig,
5、手機(jī)連接本機(jī)的Wifi,并設(shè)置代理
每個(gè)品牌的手機(jī)設(shè)置wifi的方式可能不一樣,這里以華為手機(jī)為例,如圖8所示,將手機(jī)連接至PC的wifi
勾選“顯示高級選項(xiàng)”-> 代理 選擇“手動” ->輸入服務(wù)器主機(jī)名和服務(wù)器端口 ->IP選擇“DHCP”->連接,即完成手機(jī)端設(shè)置代理操作,如圖9所示
注:服務(wù)器主機(jī)名:Fiddler所在電腦IP(即開啟wifi后,在fiddler或cmd中看到的無線網(wǎng)卡IP地址)
服務(wù)器端口: Fiddler使用的端口(即Options-Connections中設(shè)置的端口號)
6、手機(jī)下載安裝Fiddler證書
連接上wifi后,手機(jī)打開瀏覽器輸入代理IP+端口號(即是本機(jī)無線網(wǎng)卡IP,也是手機(jī)連接wifi時(shí)所設(shè)置的服務(wù)器主機(jī)名,這里的ip+端口號為192.168.191.1:8888),進(jìn)入fiddler echo service頁面,下載Fiddler的證書,如圖10所示,點(diǎn)擊FiddlerRoot certificate
下載完成后,進(jìn)行安裝證書
【注意】:如果打開瀏覽器碰到類似下面的報(bào)錯,請打開Fiddler的證書解密模式(如上面的步驟3所示):No root certificate was found. Have you enabled HTTPS traffic decryption in Fiddler yet?
設(shè)置完上面6個(gè)步驟后,即表明已設(shè)置完畢,此時(shí)用手機(jī)訪問應(yīng)用,就可以看到fiddler抓取到的數(shù)據(jù)包了.