如何捕獲Android數據包
一、移動設備訪問網絡原理
先看看移動設備是怎么去訪問網絡,如圖1所示,可以看到,移動端的數據包是從wifi出去的。
圖1(移動設備訪問網絡)
所以我們可以把自己的電腦開啟熱點,將手機連上電腦,本機的Fiddler開啟代理后,讓這些數據通過Fiddler,那Fiddler就可以抓到這些包,然后發給路由器,如圖2所示
圖2(設置)
二、Fiddler抓取android數據包所需條件
1、電腦需要安裝Fiddler
2、測試手機需要支持Wifi
3、測試手機與電腦需要同一網絡
4、所測APP需支持代理
注:Iphone、Ipad、WinPhone等支持代理手機均適用
三、下面介紹一下Fiddler和Android需要怎么設置
1、首先電腦開啟wifi熱點
電腦可下載一個wifi軟件,我這里用的是獵豹wifi,如圖3所示,電腦已經開啟了wifi熱點后
圖3(手機連接電腦的wifi)
2、設置Fiddler的代理端口
Tools –> Options-> Connections,設置代理端口:8888, 勾選 Allow remote computers to connect,即允許遠程計算機連接Fiddler,如圖4所示
注:8888為默認端口號,可修改,但需注意兩點,一是本機空閑端口,二是手機代理設置時要與fiddler的端口一致。
圖4(設置fiddler的代理端口)
3、設置解密HTTPS的網絡數據
Tools –> Options-> Https,勾選"Decrypt HTTPS traffic"、"Ignore server certificate errors",如圖5所示
圖5(設置解密https的網絡數據)
4、查看本機的無線網卡IP
設置了上面的步驟后,就可以在 Fiddler看到自己本機無線網卡的IP了(要是沒有的話,重啟Fiddler,或者可以在cmd中ipconfig找到自己的網卡IP,注:一定要開啟本機的wifi熱點),如圖6所示
圖6(在fiddler查看本機的無線網卡IP)
也可以在CMD中查看本機網卡的IP,輸入命令:ipconfig,如圖7所示
圖7(ipconfig查看本機無線網卡IP)
5、手機連接本機的Wifi,並設置代理
每個品牌的手機設置wifi的方式可能不一樣,這里以華為手機為例,如圖8所示,將手機連接至PC的wifi
圖8(手機連接電腦的wifi)
勾選“顯示高級選項”-> 代理 選擇“手動” ->輸入服務器主機名和服務器端口 ->IP選擇“DHCP”->連接,即完成手機端設置代理操作,如圖9所示
注:服務器主機名:Fiddler所在電腦IP(即開啟wifi后,在fiddler或cmd中看到的無線網卡IP地址)
服務器端口: Fiddler使用的端口(即Options-> Connections中設置的端口號)
圖9(手機設置代理)
6、手機下載安裝Fiddler證書
連接上wifi后,手機打開瀏覽器輸入代理IP+端口號(即是本機無線網卡IP,也是手機連接wifi時所設置的服務器主機名,這里的ip+端口號為192.168.191.1:8888),進入fiddler echo service頁面,下載Fiddler的證書,如圖10所示,點擊FiddlerRoot certificate
圖10(下載fiddler證書)
下載完成后,進行安裝證書,如圖11所示
圖11(安裝證書)
【注意】:如果打開瀏覽器碰到類似下面的報錯,請打開Fiddler的證書解密模式(如上面的步驟3所示):No root certificate was found. Have you enabled HTTPS traffic decryption in Fiddler yet?
四、運行手機應用
設置完上面6個步驟后,即表明已設置完畢,此時用手機訪問應用,就可以看到fiddler抓取到的數據包了,如圖12、13所示
圖12(這是運行百度網盤與喜馬拉雅FM應用時所抓取的數據包)
圖13(這是運行微信應用中的游戲時所抓取的數據包)
以上就是fiddler捕獲android數據包時所要做的操作
轉載自:https://www.cnblogs.com/Chilam007/p/6985590.html