在android開發中,遇到socket編程,無法從log日志中查看到與之通訊的socket發送和返回的數據包是什么,這里介紹一個工具,tcpdump工具和wireshark工具查看抓到的內容。
抓包步驟1. 下載TCPdump工具
下載地址:http://upload.server110.com/file/20140806/1-140P614364A51.rar
2. Android手機需要先獲得root權限
這個自己找工具去root吧
3.將tcpdump工具放入android系統中
adb push tcpdump /data/local/tcpdump
如果提示沒有權限,那就最簡單的就是用下面的方法:
adb push tcpdump /data/local/tmp/tcpdump
異常情況:root后adb shell默認不是root用戶時,如何將文件放入手機系統中,請參考 :http://www.wirelessqa.com/?p=233
4.修改tcpdump的權限
adb shell chmod 6755 /data/local/tcpdump
5.移除已經存在的抓包文件
我們需要將capture.pcap放到/sdcard/下,請先將已存在的移除
adb shell rm -r /sdcard/capture.pcap
6.進入root權限
[email protected] ~$ adb shell
[email protected]:/ $ su
[email protected]:/ #
7. 運行tcpdump
在手機端執行相應需要進行抓包分析的操作
# /data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap
Got 后面的數值一直在增加,表明正在抓取數據包
8.中斷抓包
執行完成后在命令提示符窗口執行Ctrl+C中斷抓包進程
9.將抓包結果復制至本地
adb pull /sdcard/capture.pcap capture.pcap
(前面那個目錄為手機端地址,后面那個目錄為本地地址)
10.使用Wireshark等工具查看抓包文件capture.pcap
使用wireshark工具查看抓到的數據包文件,
Mac上安裝wireshark后,如果想使用需要再安裝X11
在你打開wireshark的時候系統會提示你安裝,你按照提示安裝就好了。安裝完成后重啟電腦。
直接雙擊capture.pcap,可打開wireshark
調整時間顯示格式:
菜單欄選View — Time Display Format 然后選擇你想要的時間格式
之后導入文件查看就可以了。