1 Android 平台抓包工具
[!tip] Wireshark on android
✨ 工具:
| 工具 | 地址 | Root | 备注 |
|---|---|---|---|
| PCAPdroid | github.com/emanuele-f/… | ❌No | PCAPdroid 模拟 VPN,以便无需 root 即可捕获网络流量 |
| Wireshark | www.wireshark.org/#download | 结合 PCAPdroid 的 UDP/TCP 导出模式 实时监控 1 | |
| tcpdump | www.androidtcpdump.com/android-tcp… | ✔Yes |
2 PCAPdroid
📌 用户指南: emanuele-f.github.io/PCAPdroid/
🎨 PCAPdroid : PCAPdroid是一款无需root权限即可运行的开源网络捕获与监控工具,其常见应用场景包括:
- 分析设备中已安装应用(含用户应用与系统应用)建立的连接
- 将设备流量转储为
PCAP文件并远程传输以供进一步分析(例如导入Wireshark) - 解密特定应用的
HTTPS/TLS流量 PCAPdroid通过调用Android系统VpnService接口捕获所有应用生成的流量。该工具实际并未创建外部VPN,所有流量均由应用本地处理。
➰ 功能:
- 记录并检查用户和系统应用建立的连接
- 提取SNI、DNS查询、HTTP网址及远程IP地址
- 借助内置解码器检查HTTP请求与响应
- 以十六进制转储/文本形式检查完整连接负载
- 解密
HTTPS/TLS流量并导出SSL密钥日志文件 - 将流量转储至
PCAP文件、通过浏览器下载,或实时流式传输至远程接收器(如Wireshark)进行分析 - 创建规则过滤正常流量,轻松识别异常情况
- 通过离线数据库查询识别远程服务器的国家及ASN
- 在已root设备上,支持在其他VPN应用运行时同步捕获流量
2.1 Android 设备上使用
📌步骤:
- "设置" 中开启
TLS解密, Mitm设置向导 会引导安装ca证书- 下载安装
PCAPdroid-mitm地址:github.com/emanuele-f/… - 手机设置 安全-加密与凭据-安装证书-CA证书 安装 ca 证书
- 下载安装
- 在设置-捕获 下开启
PCAPdroid扩展 - 在 PCAPdroid 主页,流量转储 模式 选择 无转储, 可在
连接tab 页,查看实时捕获的流量,看到 绿色🔓 表示已解密
2.2 结合 Wireshark 的实时捕获
🔔 建议 流量转储 模式 使用 TCP导出器(pcap-over-ip), 从 v1.8.6 版本开始支持,这是 实时捕获 的推荐模式
-
放置到 Wireshark 安装目录的
plugins目录下,重启 Wireshark -
检查 Wireshark 帮助-关于 Wireshark-插件 列表中是否有加载 pcapdroid.lua 和 pcapdroid_udpdump.lua 的条目,如果有,说明加载成功
-
Wireshark的 编辑-首选项-外观-列 中,点击 "+" ,添加一个 column,以便在捕获条目显示来自哪个App,但让也可以不用,如果
appname是中文,当前版本会乱码title 类型 Custom Express App Custom pcapdroid.appname
💥注意:
- 如果你使用
udpdump, 遇到wireshark无法显示实时捕获时,检查 防火墙, 安装 udpdump 的默认防火墙 入站规则 UDP 协议可能不允许连接,改为 允许连接,指定使用端口5555也可以,因为默认所有端口,不过建议使用 TCP导出器(pcap-over-ip)
📌 PCAPdroid 配置:
-
收集器IP地址:要运行 wireshark 实时分析的 PC 端IP地址
-
收集器端口:如果使用
udpdump, 在wireshark ,点击 捕获-UDP Listener remote capture:udpdump 前的 "设置图标",可以看到udpdump的监听端口为5555
2.2.1 Windows系统上的实时分析
📌 基于 ncat:
- 下载安装
nmap: nmap.org/download.ht… ,ncat是nmap下的一个程序 ncat可作为一个server使用,ncat -l 5555表示在本地端口5555启动一个 TCP 监听服务,所有的标准输入、输出都会在此端口输出
# 在 5555 端口启动一个 TCP 服务,并把输出重定向给 wireshark
ncat -lvp 5555 | "D:\Program Files\Wireshark\Wireshark.exe" -k -i -
- PCAPdroid 流量转储 选择 TCP导出器
- 点击开始
📌 基于 curl:
- 下载安装
curl - PCAPdroid 流量转储 选择 HTTP服务器后
- 点击开始,显示一个 http服务地址:
http://192.168.26.222:8080
curl -NLs http://192.168.26.222:8080 | "D:\Program Files\Wireshark\Wireshark.exe" -k -i -
2.2.2 Linux系统上使用实时分析
📌 流量转储在 HTTP服务 模式下:
curl -NLs http://192.168.26.222:8080 | wireshark -k -i -
3 tcpdump
🤡 需在 Rooted 的设备上执行:
adb push tcpdump /data/local/tcpdump
adb shell ls -l /data/local/tcpdump
cd /data/local/
chmod +x tcpdump
# 确认执行权限
ls -l tcpdump
# -i 可指定网络接口,可通过 ifconfig 查看,一般:wlan0 代表WiFi网口
tcpdump -p -s 0 -w /sdcard/001.pcap
adb pull /sdcard/001.pcap C:\Users\admin\Desktop\
🚀 把pcap文件在 Wireshark 中打开分析