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,系统即可恢复正常