1.手机root权限
2.下载tcpdump
http://www.strazzere.com/android/tcpdump
3. adb push E:\tcpdump /data/local/tcpdump
4.adb shell 用su获得root权限
5. cd /data/local
6. tcp -i any -p -s 0 -w /sdcard/capture.pcap
参数:-i 监听任何网络接口
-p :禁用混杂模式(不工作)
-s 0 :对整个包截图
-w :把结果写入文件。(而不是打印)
。。。。做其它想要的截图,ctrl +C 停止。
7.把文件pull 出来
adb pull /sdcard/capture.pcap d:/
8.在电脑上用wireshark打开capture.prcap分析log
如果想看到执行文件而不是截图结果,执行下面命令
adb shell tcpdump -n -s 0
一些典型的例子:
1.监听http
adb shell tcpdump -X -n -s 0 port 8080
据以上的信息,写一个bat去执行(tcpdump文件必须在当前目录里)。
开始tcpdump
下载tcpdump文件到电脑
adb pull /sdcard/capture.pcap capture.pcap
问题:有些机器root后通过adb shell 后,默认不是root用户,需要输入 su才能切换到root,这样在执行批处理会有问题,解决方法如下
adb push tcpdump /data/local/tcpdump
因没有root权限导致的问题
adb shell su -c "/data/local/tmp/tcpdump -i any -p -s 0 -w /sdcard/netCapture.pcap"