在PC上監測web頁面的HTTP請求是一件非常簡單的事,我們有大量的軟件可以來做,甚至瀏覽器就自帶了有這樣功能的開發插件。但是在移動設備上就沒那麼簡單了,沒有軟件,權限控制……下面將介紹2種監測移動設備HTTP請求的方式。
一、使用Charles
在連上WIFI的前提下,android和ios設備都可以通過Charles來監測HTTP請求,原理是通過Charles在PC上架設一個代理,手機訪問這個代理,Charles記錄網絡請求。ios設備,在“設置”-“無線局域網絡”裏可以直接設置代理,而android沒有設置代理的功能,需要取得root權限後安裝第三方軟件來實現。
操作步驟:
- 下載Charles(http://www.charlesproxy.com/download/),安裝完成後打開軟件
- 通過菜單上的“Proxy”-“Proxy Settings…”,進入代理設置見面
- “Port”填默認的“8888”即可,勾選“Enable transparent HTTP proxying”,點“OK”確認
- 設置手機的代理,端口(Port)寫Charles中的端口設置,即“8888”,IP填你PC的IP地址
- 用手機發起任意HTTP請求,Charles會彈出一個提示框,點“Allow”,好了HTTP請求都出現在Charles裏了
全選所有請求,並選擇右側的“Chart”選項卡就能看到整個HTTP請求瀑布圖了:
Android手機設置代理的方式:
- 安裝“z4root”軟件,進入軟件後選擇第二項,等待一段時間後,自動重啓,取得root權限完成
- 安裝“Transparent Proxy”,進入“Proxy Host”設置PC的IP地址,進入“Proxy Port”設置端口號,即“8888”,勾選“Proxy”,設置完成
二、使用TCPDUMP和Wireshark
Android手機,可以使用TCPDUMP輸出網絡請求的LOG文件,然後用Wireshark打開該文件,進行統計分析。
操作步驟:
- 下載TCPDUMP(http://www.strazzere.com/android/tcpdump),放到D根目錄盤下
- 下載安裝Wireshark(http://www.wireshark.org/)
- root手機,方法如上所述
- 用usb連上手機
- 打開命令行工具CMD,依次輸入如下命令:
adb push d:\tcpdump /data/local/tcpdump
adb shell chmod 6755 /data/local/tcpdump
adb shell tcpdump -p -vv -s 0 -w /sdcard/capture.pcap -Z root
- 停止抓包:按Ctrl+c
- 導出抓包得到的文件到d盤根目錄:
adb pull /sdcard/capture.pcap d:/
- 雙擊capture.pcap文件,wireshark啓動
轉自:http://www.zhouqicf.com/others/mobile-network-requests-monitor