在 Android 设备利用 adb 命令实现 tcpdump 抓网络包

背景

这篇文章我其实没打算写的,可能是懒吧!

不过有个测试小妹妹测试我目前负责的一个项目,她大多数时候是需要进行网络抓包来分析相关问题的。但是因为她抓的网络包有的时候不准确,故我本人也远程连接过她的电脑抓了几次,使用的是 tcpdump 抓的网络包。

最后决定写这篇文章记录一下抓包的过程,有些简单的东西文章里不会再详细说了,这部分请同学们自行学习。

郝可爱!好好看,好好学!


步骤

连接上 Android 设备

adb 命令如下:

adb connect [device ip address]

连接成功后输入命令 adb devices 可以查看已经连接的设备,我这里因为盒子有限,故使用 Android 创建的虚拟机(自带 root 权限)给同学们演示,两种效果完全一样。

在这里插入图片描述

上图表示连接设备成功了。


将 tcpdump 文件 push 进 Android 设备某个目录中

Android 设备目录,下面我统称为设备目录,因为 Android 设备是 linux 内核系统,故相关 linux 命令也不会去细说,同学们自己学习,都是比较简单的命令。

  • 将本机的 tcpdump 文件 push 进设备目录中
adb push [本机的tcpdump文件绝对路径] [设备目录的某个目录下]

如下图示:

在这里插入图片描述
上图表示 push 文件 tcpdump 到设备目录 /sdcard/ 下成功了。

我们进入 linux 系统的 sdcard 目录下查看一下,如下图示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上图就表示已经成功将本机的 tcpdump 文件 push 到了设备的 sdcard 目录下。


使用 tcpdump 抓包

有时候需要修改 tcpdump 文件的为可执行文件,我们可以使用如下命令:

chmod 755 [设备目录下的tcpdump文件]

如果tcpdump文件刚开时就是可执行的,那么就不用再改了,直接执行命令抓包即可。

那怎么看是否是可执行的,可以执行一下抓包命令就能看出来,如果是可执行的,那么命令执行不会报错,如果是不可执行的,那么会有错误提示的。

我们直接执行:

tcpdump -i any -p -s 0 -w capture.pcap

相关参数说明如下:

  • “-i any”: listen on any network interface
  • “-p”: disable promiscuous mode (doesn’t work anyway)
  • “-s 0”: capture the entire packet
  • “-w”: write packets to a file (rather than printing to stdout)

… do whatever you want to capture, then ^C to stop it …

如下图示:

在这里插入图片描述

如上图示表示正在抓包了,也间接说明了当前 linux 下的这个用户是对这个文件具有可执行权限的。

使用 ctrl + c 组合键可以关闭当前抓包。上述命令抓的包会生成到设备目录的 sdcard 下(因为我的抓包命令中,生成的 capture.pcap 网络包文件就指定在了当前的 sdcard 目录下,故抓的包会在 sdcard 目录下。同学们自己可以指定生成文件的目录,这里就不细说了),如下图示:

在这里插入图片描述
注意:有的同学可能会 chmod 失败,可能是因为当前的 linux 系统下的用户没有权限修改文件的属性,所以建议 root 一下,权限所有。


将 capture.pcap 网络包文件 pull 到本机

上面操作做完后,网络包文件已经抓完且生成了,所以我们可以使用 adb 命令将设备目录 sdcard 下的 capture.pcap 文件拉取到本地计算机的某个目录下。

我们使用命令:

adb pull [设备目录下的网络包绝对路径]

如下图示:

在这里插入图片描述
如上图示,表示把网络包文件成功的拉取到了本地的 D 盘根目录下,这里你是在哪个目录下执行的拉取文件命令,那么文件就会被拉取到哪个目录下。

在这里插入图片描述
到这里就完成了所有的抓包操作了。

如果还有抓包失败的或者是中间某个步骤失败的,大概率是未 root 的原因。可以评论说明问题或者是私信我,我尽力解答。

在这里插入图片描述

PS:郝可爱,还学不会的话,那就傻瓜!懂?

在这里插入图片描述


技术永不眠!我们下期见!

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值