本文主要介紹如何使用tcpdump和wireshark對Android應用程序進行抓包並分析,須要說明的是在抓包以前,你的Android設備必須root過了,另外你的電腦必須有Android SDK環境。shell
下載並安裝tcpdumptcp
tcpdump連接:http://www.ijiami.cn/工具
選擇一個版本下載並解壓提取出其中呃tcpdump文件,而後push到你的手機上去:post
adb push c:\tcpdump /data/local/tcpdump編碼
進一步操做:server
adb shellip
su入門
chmod +x /data/local/tcpdumpstream
而後就能夠開始抓包了:cli
/data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap
這時你能夠操做應用程序相應的操做了,抓包完畢後ctrl+c中止抓包。
而後將抓到pcap文件傳輸本地開始進行分析了,這裏假設你pull到c盤目錄下。
adb pull /sdcard/capture.pcap c:/
使用wireshark分析抓包數據
pc上安裝wireshark
wireshark下載:http://www.ijiami.cn/treg
若是安裝完畢,就能夠直接打剛纔的pcap文件了。
使用過濾器filter
若是抓到的東西過多,能夠使用上方的過濾器,好比我只看http協議,而且是由我設備發出的
右鍵記錄查看tcp stream
這個功能我比較喜歡,能夠查看這次http,client端請求和server端返回的數據
還有我以爲更厲害的功能
能夠把請求的內容和結果存儲下來,好比能夠查看post的內容
這是在面板看到的具體的tcp/ip各層的內容
可是這種編碼以後,而且以字節流發出去的東西很讓人討厭,利用存儲可能,你就能夠看到具體的結果了:
選擇File->Export Objects->HTTP,導出這條記錄就能夠啦。
最後總結下
這是我最近在工做中實際用獲得的,但在實際操做tcpdump和wireshark的時候,有更多功能、技巧能夠挖掘出來,這篇文章算是對歷來沒有用過這兩個工具的人的一個入門介紹吧。