PCAPdroid 中文文档 下载 App

DNS 服务器自动检测与手动配置 — PCAPdroid 选哪个 DNS

自动检测

PCAPdroid 启动时在 Android Marshmallow(6.0)及以上版本尝试读取系统当前 DNS 服务器配置:

当前实际使用的 DNS 服务器可以在 Stats 标签页查到。

为什么要关心

PCAPdroid 代理流量的时候,DNS 查询会先被自己处理。如果 PCAPdroid 用了和系统不同的 DNS:

大多数场景下用默认值就好。如果遇到解析异常,可以检查一下 Stats 页显示的 DNS 是不是你期望的。

DNS 泄漏排查

在隐私场景下,PCAPdroid 默认配置可能出现 DNS 泄漏:应用绕过 PCAPdroid 配置走自己的 DNS 路径、或系统 netd 守护进程绕过 VpnService。排查方法:

  1. 开 PCAPdroid 抓包,去 dnsleaktest.com 检测
  2. 如果 PCAPdroid 抓包 Connections 里能看到 dnsleaktest.com 的 DNS 查询,但检测结果显示的 DNS 不是 PCAPdroid 设定的,就存在泄漏

解决 DNS 泄漏通常涉及 root 或第三方工具,超出 PCAPdroid 单应用范围。

DoH 与 PCAPdroid 的冲突

PCAPdroid 默认自动检测并阻断 DNS-over-HTTPS(DoH)请求——因为如果应用走 DoH,PCAPdroid 就看不到明文 DNS 查询内容(DoH 本身就是把 DNS 查询包在 TLS 里发到 HTTPS 端点)。阻断的代价是:

如果你想同时获得 DNS 加密的隐私好处和 PCAPdroid 的 DNS 可见性,见下一页:DNS 服务器与 DoH 集成。