Android APP tcpdump抓包方法

前提条件:

1、Android手机获取root权限

2、电脑上有安装Android SDK

3、下载tcpdump软件

操作步骤:

1、Android手机USB连接到电脑上

2、cmd打开命令行窗口,进入adb所在目录(\android-sdk\platform-tools),运行以下命令,将tcpdump拷贝到手机上

adb push d:/tcpdump /data/local/tcpdump

可能遇到拷贝失败的问题,请参考笔者另一篇文章解决此问题

http://sharley.iteye.com/blog/2376265

3、adb shell root权限,运行以下命令修改tcpdump权限:

# chmod 777 /data/local/tcpdump

4、adb shell root权限,运行以下命令启动抓包

# /data/local/tcpdump -p -vv -s0 -w /sdcard/capture.pcap

Android 5.*系统可能出现error: only position independent executables (PIE) are supported.的错误

原因是:PIE这个安全机制从4.1引入,但是Android L之前的系统版本并不会去检验可执行文件是否基于PIE编译出的。因此不会报错。但是Android L已经开启验证,如果调用的可执行文件不是基于PIE方式编译的,则无法运行。解决办法非常简单,下载支持PIE的tcpdump(见附件)

5、启动抓包成功后,操作手机的APP,停止抓包就Ctrl+C 

6、将抓包结果文件拷贝到电脑上,用Wireshark等工具查看

可以使用adb pull命令拷贝,也可以使用电脑管家-我的手机-文件管理

路径:手机系统-storage-emulated-legacy,将capture.pcap导出到电脑上

备注:

抓包过程中经常发生点击计算机未响应的问题,移除手机USB,系统即可恢复正常