在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打开即可