DNS 泄露检测

挂着 VPN 或代理时,你的域名解析请求有没有绕开隧道、交给了真实运营商的解析器?

打开检测

测试在首页结果下方的「本机环境检测」→「DNS 泄露」,点「开始测试」即可。只能测试你自己的连接,查询别人的 IP 时不显示。

什么才算 DNS 泄露

浏览器访问一个网站之前,要先向递归解析器问这个域名的地址。VPN 保护的是之后的流量;如果解析请求仍然发给了你真实运营商(比如本地电信、联通)的解析器,那么运营商就知道你访问了哪些域名,你访问的网站也能看出你真实的运营商。这才是泄露。

很多检测站在这件事上会误报:

n0.wiki 怎么测

我们在 dl.n0.wiki 运行自己的权威 DNS 服务器。测试时,浏览器请求几个随机生成的一次性子域名,你的递归解析器不得不来问我们的服务器,于是我们能直接看到两条相互独立的证据:

  1. 解析器是谁。判断它属于已知公共解析器、与出口同一网络、云或托管网络,还是疑似你真实运营商的接入网。识别 Google Public DNS 用的是 Google 官方发布的前缀表,而不是反向解析或只看 ASN(Google 解析器的出口看不出 8.8.8.8,而同一个 ASN 还承载着 Google Cloud)。
  2. ECS 网段是否包含你的出口。部分解析器会把客户端所在网段(EDNS Client Subnet)直接写进查询报文。如果这个网段不包含你的出口地址,说明解析请求来自另一个网络。这条证据是解析器自己写的,不需要推断。实测 Google 会发送 ECS,Cloudflare 与 Quad9 不发。

判定结果的含义

判定含义
未观测到测试没跑起来(比如被拦截),不代表没泄露。
未在匿名有证据显示你是直连,谈不上泄露。
同网解析器与出口在同一网络,通常是 VPN 自带的 DNS。
公共解析器走的是已知公共解析器,符合预期。
无法定性有第三方解析器,但我们分辨不出它是谁。不等于安全。
疑似泄露解析器疑似属于你真实运营商的接入网。
条件性泄露如果你在用 VPN,这就是泄露;但我们无法确认你是否在匿名。

如何修复 DNS 泄露

隐私说明

测试记录只保存在内存数据库里,15 分钟后自动删除;一次性子域名是随机生成的,不关联任何身份。详见关于与隐私。