在Windows环境下抓取安卓手机数据包
-
给安卓手机刷root权限
Root是Android手机系统中的超级管理员账户,Root权限(即底层权限)和我们在Windows系统下的Administrator权限类似。默认状态下,为了防止系统文件被更改,Android系统并没有把Root账户开放给我们普通用户,我们必须先为Root权限解锁才能获取Root权限。网上一般把Android手机的Root权限是否解锁,简称为Android手机是否root过。
手机需要先解锁再root。
由于华为手机关闭了解锁的通道,所以几次尝试都失败,最后在淘宝花40元远程刷机;
-
在Windows电脑中下载安卓JDK运行环境并安装
当时在安装eclipse时安装的;
-
在Windows电脑中现在安卓SDK
这个是马龙拷贝给我的;
3.1 这个在实际使用中,并没有platform-tools文件夹,马龙使用命令行在线下载下来的。
3.2 然后在运行ADB的时候,我的adb版本高了(40版本),实际环境需要适配31版本的,马龙在CSDN上下载的31版本替换的。
-
在Windows电脑中下载TCPdump这个插件
在使用低版本的tcpdump的过程中,会报出失败或者只读等信息,所以此处应该使用高版本的TCPdump
注意要是能支持高版本安卓的TCPdump,目前使用版本支持安卓6.0这个版本。
-
把TCPdump从Windows下拷贝到手机SD卡中
可以直接在Windows的图形界面下拖拽,存放在/sdcard/01/tcpdump 这个路径下;
-
操作
在\sdk-tools-windows-4333796\platform-tools这个路径下,按住shift打开命令行,手机进入开发者模式,首次操作才执行6.4-6.6
- 输入adb device
- 输入adb shell
- 输入su 切换到root用户
- 拷贝tcpdump 到data/local这个目录中
cp /sdcard/01/tcpdump /data/local/tcpdump
- 给tcpdump可运行权限,在/data/local/目录下
chmod 777 ./tcpmod
- ls –l tcpdump查看root用户是否有了可执行权限
- 运行抓包,将抓包文件保存在手机/sdcard/01/目录下
/data/local/tcpdump -i any -X -w /sdcard/01/test.pcap
- 停止抓包按Ctrl+C
- 检查抓到的文件是否正确,test.pcap应该明显大于24bytes
执行6.1-6.3
进入手机/sdcard/01/目录下
执行ls -a -l命令
查看test.pcap文件大小,应明显大于24
sdcard的test.pcap复制出来到电脑上用wireshark打开即可