PCAPdroid 中文文档 下载 App

非 root 模式抓不到其他设备连进来的入站连接 — NAT 限制

现象

原因

Android 设备几乎总是在 NAT 后面:

所以绝大多数环境下手机根本不会收到入站连接——更准确地说,其他设备 ping 你、连你的热点访问,这些包不会经过 VpnService,自然也不被 PCAPdroid 抓到。

例外场景

以下场景下可能有入站连接到达手机(但仍不经过 VpnService):

场景说明
同一局域网 + 端口映射路由器做了端口映射,公网请求到达手机
移动数据网络 + IPv6某些运营商给手机分配 IPv6 地址,IPv6 没有 NAT,理论上能收到入站
其他 VPN 应用转发流量比如 Orbot 的桥接模式把流量转发给手机
PCAPdroid 自身的 HTTP Server你用 PCAPdroid HTTP Server dump mode 时,电脑访问 PCAPdroid 显示的 URL——这时候电脑发起的请求是手机上的 PCAPdroid 接收的,属于入站

如果需要抓这些连接

需求可行方案
抓 PCAPdroid HTTP Server 接收到的请求在电脑上自己跑一个 VpnService(或 Wireshark),在请求发出那一侧抓包
抓其他 VPN 应用(Orbot 等)的流量用 Root 模式抓包——Root 模式绕过 VpnService 直接从网卡抓,所有流量都能看到
抓电脑 → 手机的连接在 PCAPdroid 的 SOCKS5 代理或 端口映射规则里显式配置,把入站代理流量也纳入 VpnService 路径

总结

VpnService 模式设计之初就是为了监控设备自身发出的出站流量——这也是绝大多数用户关心的场景(哪款 App 偷偷联网、连到了哪些域名、发了什么数据)。入站连接监控属于更高级的调试需求,需要 Root 模式或其他工具配合。