今天閑着沒吊事,來寫一篇關於怎么抓取Android中的app數據包?工欲行其事,必先利其器,上網google了一下,發現了一款神器:Fiddler,這個貌似是所有軟件開發者必備神器呀!這款工具不僅可以抓取PC上開發web時候的數據包,而且可以抓取移動端(Android,Iphone,WindowPhone等都可以),太強大了,以前搞web的時候,知道有一款叫做HttpWatch工具,可以抓取web的請求數據包的,但是和這款神器來比較,那都弱爆了!吹到現在都是無用的,下面就來看看實例吧!開始興奮吧!
第一步:下載神器Fiddler,下載鏈接:http://fiddler2.com/get-fiddler
下載完成之后,傻瓜式的安裝一下了!
第二步:設置Fiddler
打開Fiddler, Tools-> Fiddler Options (配置完后記得要重啟Fiddler)
選中"Decrpt HTTPS traffic", Fiddler就可以截獲HTTPS請求
選中"Allow remote computers to connect". 是允許別的機器把HTTP/HTTPS請求發送到Fiddler上來
記住這個端口號是:8888
第三步:設置Android手機
首先獲取PC的ip地址:命令行中輸入:ipconfig,獲取ip地址
好吧,這時候我就拿到了IP地址和端口號了
下面來對Android手機進行代理設置,本人使用的是三星的G4:
確定一下手機和PC是連接在同一個局域網中
進入手機的設置->點擊進入WLAN設置->選擇連接到的無線網,長按彈出選項框:如圖所示:
選擇修改網絡配置:
選擇顯示高級選項,將代理設置成手動,將上面獲取到的ip地址和端口號填入,點擊保存。這樣就將我們的手機設置成功了。
到這里我們就設置好所有的值,下面就來測試一下,首先安裝網易新聞App。
下面打開Fiddler,然后打開手機中的網易新聞app,Fiddler抓包如下:
這樣就抓取Android移動端的數據包成功了,這個對於我們后面進行網絡數據請求的調試有很大的幫助,我們可以通過這個方法來判斷我們請求網絡是否成功!
注意:此方法只適應於抓取http。
此方法的最大優點是,可以攔截發出或者收到的http,可以修改http的request和response數據。因此用此方法可以模擬一些特殊場景(如包無響應、模擬一些很難出現的錯誤碼等)。