PCAP 流量导出与 Wireshark 分析
什么是 PCAP 格式
PCAP(Packet Capture)是网络抓包工具的通用标准格式,Wireshark、tcpdump、NetworkMiner 等几十种网络分析工具都支持打开它。导出为 PCAP 后:
- 可以在 PC 或 Mac 上用 Wireshark 做完整的协议级别分析
- 可以看到每个包的时间戳、协议、载荷内容(未加密的)
- 可以统计每个应用的流量总量、平均包大小、连接时长等
导出步骤
步骤一:打开全球日志
主菜单 → 显示日志,确保当前是 Pro 版。
步骤二:筛选后再导出(可选)
PCAP 导出会导出当前过滤条件下的所有日志。建议先按需要筛选:
- 只看某个应用的流量
- 只看被拦截的流量
- 只看某个时间段的流量
不筛选直接导出也可以——全球日志默认按时间顺序排列,筛选只是让文件更聚焦。
步骤三:点击导出
全球日志页面右上角三点菜单 → 导出 PCAP。
步骤四:选择存储位置
Android 会弹出文件选择器,选择 PCAP 文件的保存位置。建议:
- 先保存到设备内部存储的「Download」文件夹
- 再通过 USB 或云盘传到 PC / Mac 上分析
- 文件名推荐包含时间和应用名(如
netguard_20261014_wechat.pcap)
步骤五:在 Wireshark 中打开
- 在 PC 上安装 Wireshark(免费开源)
- 打开 Wireshark → File → Open → 选择导出的 .pcap 文件
- Wireshark 会自动解析每一条网络流量记录
Wireshark 中可以做什么
查看完整的 DNS 查询
DNS 查询是 UDP 协议,在 Wireshark 中可以看到每个应用发出的 DNS 请求和收到的 DNS 响应(目标域名 + 解析出的 IP)。这对排查某个应用在访问什么服务器非常有帮助。
统计每个应用的流量量
Wireshark → Statistics → Conversations,可以看到每个 IP 对话的总字节数和包数。配合 NetGuard 应用日志里的 IP 归属信息,可以大概估算每个应用的联网开销。
检查 TLS 证书
如果想知道某个 HTTPS 连接的目标服务器真实身份,可以在 Wireshark 里右键该 TLS 会话 → Show SSL Session Keys 或查看 Server Hello 包里的证书信息。
过滤 NetGuard 标记
NetGuard 导出的 PCAP 中,被它拦截的流量有特殊标记——在 Wireshark 中可以按被拦截 / 被允许分别查看。
PCAP 导出的限制
- 仅 Pro 版可用
- DNS 流量可能不完整——NetGuard 默认允许所有 DNS 请求(即使 Hosts 文件里有拦截规则),因为它需要先解析域名才能做 IP 级别的拦截判断。PCAP 里会看到这些允许的 DNS 查询记录
- 加密流量内容不可见——TLS/SSL 加密的流量在 PCAP 里只能看到 TCP 包头,看不到 HTTP 载荷。要看载荷需要 TLS 握手时的解密密钥(Wireshark 的
ssl.keylog_file配置) - Incoming 流量不记录——Android VPN 服务只管理出站(应用 → 互联网),入站流量不受 NetGuard 控制
- IPv6 流量需要 Wireshark 支持——新版 Wireshark 默认支持 IPv6,但某些旧版本需要手动开启
使用场景
场景一:网络故障排查
如果某个应用联网异常,用 PCAP 导出该应用的流量,在 Wireshark 中查看:
- TCP 三次握手是否完成
- 是否收到 RST 包(连接被重置)
- DNS 查询是否返回了正确 IP
- 目标服务器端口是否在正常范围内
场景二:安全研究 / 隐私分析
安全研究人员或极客用户可以导出 PCAP 后:
- 验证应用是否有"calling home"行为(偷偷连接开发者服务器)
- 检查是否有异常的 IP 连接(如疑似 C2 服务器)
- 统计不同应用的流量结构
场景三:流量分析与优化
导出 PCAP 后用 Wireshark 的 I/O Graph 功能可以画出流量随时间变化的图表,识别:
- 哪个时间段应用联网最密集
- 哪些应用在后台持续跑流量(即使你没在使用)
- 蜂窝漫游时的流量结构
与应用详情面板访问日志的区别
| 维度 | 应用详情日志 | 全球 Pro 日志 | PCAP 导出 |
|---|---|---|---|
| 范围 | 单个应用 | 所有应用(可筛选) | 所有应用(可筛选) |
| 格式 | 可视化列表 | 可视化列表 | 原始网络抓包格式 |
| 可搜索 / 过滤 | 有限 | 完整 | Wireshark 完整支持 |
| 包级细节 | 无 | 无 | 有(TCP flags、包大小、时间戳) |
| 第三方分析 | 不可导出 | 不可导出 | 可在 Wireshark 等工具中打开 |