免 root 抓包怎么弄:安卓上的几条路线
本篇讲「不刷机、不 root」的前提下,安卓手机抓包有几条可行路线、各自能看什么、卡在哪。相关文档:安卓查看应用联网记录的方法.md · 手机抓包导出PCAP到Wireshark的流程.md
一、为什么抓包总跟 root 扯上关系
看懂手机流量,本质是要在数据经过的路径上放一个「观察点」。传统做法是把观察点放在系统底层(内核网络接口),那需要 root 权限;普通用户拿不到,所以免 root 方案的核心都是换一个能放观察点的位置。
安卓给了一条系统接口级的路:VpnService。系统允许任何一个普通应用创建一个本地虚拟网卡,把全机流量先引过来处理一遍再放行——注意这是本地行为,流量不经过任何远程服务器。免 root 抓包工具基本都走这条路。
二、三条免 root 路线对比
| 路线 | 代表做法 | 能看到什么 | 卡点 |
|---|---|---|---|
| 本机 VPN 类 | PCAPdroid 这类抓包应用 | 本机全部应用的连接:对方 IP、域名(SNI/DNS)、协议、流量 | HTTPS 内容要另配解密;只抓本机出站 |
| 代理类 | 在 Wi-Fi 设置里填代理地址 | 走代理的那部分流量 | 应用可以绕开代理;手机与代理得在同一网络 |
| 电脑网卡类 | 电脑 Wireshark 抓热点流量 | 网卡上经过的所有包 | 只覆盖走这个热点的流量,看不到手机内部归属 |
三条路线里,本机 VPN 类是唯一「装个应用就能用」的:不需要电脑配合、不依赖当前网络环境,所以也最常被拿来入门。
三、本机 VPN 路线的代表:PCAPdroid
PCAPdroid 是开源(GPL-3.0)的安卓网络监控与抓包工具,免 root 运行,作者独立维护多年。它的能力集中在四块:
- 连接明细——每行一条出站连接:发起的应用、协议(nDPI 识别)、对方域名或 IP、连接状态、收发流量;
- 应用维度汇总——按应用统计收发字节,快速定位谁传得最多;
- 导出——PCAP 文件、局域网 HTTP 下载、TCP/UDP 实时推流给电脑,格式标准,Wireshark 直接吃;
- TLS 解密(进阶)——配 mitm 附加组件与规则后可看指定应用的 HTTPS 明文,受安卓证书机制约束,对常见应用成功率有限。
它的边界也要先记住:只抓本机主动发出的连接(抓不到别人连你热点的流量);不解密时 HTTPS 只能看到域名看不到完整 URL;QUIC、STARTTLS 暂不支持解密。
四、怎么选
- 只想知道哪个应用连了哪里、传了多少——本机 VPN 类一把就够了;
- 要改包重发、断点调试——代理工具的领域,本机 VPN 类只观测不改写;
- 要分析包长、时序、TCP 细节——免 root 抓到的包头是改写过的,得上电脑抓网卡或 root 抓包。
想先从路线一入门,PCAPdroid 介绍站把它的功能、界面截图和能力边界整理成了一页,配套的安装文件资源入口也在那里。装好后的第一个动作,是学会看连接列表——见安卓查看应用联网记录的方法.md;要把数据拿到电脑上细看,流程在手机抓包导出PCAP到Wireshark的流程.md。