介绍如何用 Wireshark 实时抓取 Android 手机网络包。本文仅记录主要步骤。工作原理和各命令使用的参数含义、进一步的设置可参考网上的资料。这个方法的一个优点是可以抓取任意网络(如3G)下的任意类型(如 ARP)的网络包。
前提条件
Android 手机已获得 root 权限,PC 操作系统为 Windows、Linux、Mac OS/X 之一,并安装了 Android SDK。
准备工作
- 在手机上安装 netcat(可使用 BusyBox installer 安装)
- 在手机上安装 tcpdump,可在此下载对 ARM 平台编译好的二进制文件,复制到 /system/bin 目录下并添加运行权限。需注意 adb shell 提供的 chmod 命令不支持符号模式,必须使用八进制语法,如:
chmod 6755 /system/bin/tcpdump
- 在 PC 上安装 netcat 和 Wireshark 并添加到 PATH
抓包步骤
通过 adb shell
在手机上运行以下命令:
tcpdump -n -s 0 -w - | nc -l -p 11233
在 PC 的命令行中依次输入以下命令:
adb forward tcp:11233 tcp:11233
nc 127.0.0.1 11233 | wireshark -k -S -i -
comments powered by