上手手册

DNS 泄露检测怎么做:原理、工具与修复思路

2026-10-21 更新约 5 分钟读完进阶
先说结论

DNS 泄露检测的做法是:先弄清 DNS 泄露指域名查询没有走代理,再在关闭代理和开启代理两种状态下,各用公开的检测页查看当前生效的 DNS 解析来源并对比;如果开启代理后仍显示本地运营商的解析,就说明可能泄露。随后到客户端里检查 DNS 接管与相关设置,修正后复查。

dns泄露检测,是用代理的人容易忽略的一件事:节点是通的,网页是通的,你以为一切正常,但**域名查询可能悄悄走了本地网络,没有走代理。**这就是 DNS 泄露。它不会让你打不开网页,所以很难凭感觉发现;它泄露的也不是页面内容,而是“你访问了哪些域名”。这篇讲清楚它的原理,然后手把手教你自查:怎么测、怎么读结果、怎么修。

DNS 是什么,泄露又是什么

访问任何网站之前,设备都要先问一个“通讯录”:这个域名对应哪个地址。这就是 DNS 解析。关于 DNS 的基础概念,可以参考 Cloudflare 的科普页 What is DNS。

情形 域名查询去了哪里 结果
正常使用代理 通过代理发出 本地网络看不到你查询了哪些域名
DNS 泄露 绕过代理,直接发给本地 DNS 本地网络或运营商可能看到你访问了哪些站点

关键点:**泄露的是“访问了哪些域名”,不是页面内容。**概念的完整讲解读 DNS 泄露是什么。

为什么会发生泄露

原因 说明
客户端没有接管 DNS 系统仍然使用原来的 DNS 设置
部分程序自带 DNS 绕过系统与客户端的设置
规则与 DNS 配置不配合 一些域名被直连解析
使用 TUN 但 DNS 选项不当 接管了流量,却没处理好解析

所以检测的目的,是确认“域名查询是否真的跟着流量一起走了代理”。

dns泄露检测的基本思路:前后对比

最关键的方法是对比:

  1. 关闭代理,用检测页查看当前生效的 DNS 解析来源,记下结果,这是你的“本地基线”;
  2. 开启代理,再次用检测页查看,记下结果;
  3. 对比两次:如果开启代理后,显示的仍是本地的解析服务,说明域名查询没走代理;如果变成了代理一侧或其他上游,说明已经被接管。

具体怎么做:用公开的检测页自查

可以使用 Cloudflare 提供的帮助页 Cloudflare 1.1.1.1 帮助(检查连接信息),它会显示一些与你当前连接和解析相关的信息。操作要点:

步骤 做什么 注意
1 在本机浏览器里打开检测页 不要在这类页面里提交订阅链接或敏感信息
2 关闭代理,记录页面显示的信息 作为本地基线
3 开启代理,刷新页面再记录 如有缓存,刷新或换浏览器
4 对比两次的差异 看解析来源是否随代理变化
5 多测几次 排除缓存与偶然

检测页的显示内容与判断标准由其提供方决定,会随时变化,本文只讲通用思路。dns测试 和 dns检测 做到前后对比,就已经比单次查看可靠得多。

怎么读结果

你看到的情形 可能的含义 下一步
开代理后,解析来源与本地基线相同 可能存在泄露 检查客户端的 DNS 设置
开代理后,解析来源变了 已被接管 继续观察稳定性
结果忽而本地、忽而其他 DNS 设置不稳定 检查是否有多个上游、是否有缓存
页面无法打开 代理或网络问题 先解决连通,再检测

要有分寸地解读:一次检测不能下结论,要结合多次结果。

修复的思路:从客户端设置入手

发现可能泄露,可以从这几个方向排查,具体选项以所用客户端为准:

  1. **确认客户端接管了 DNS。**很多客户端有专门的 DNS 设置,要确认已开启;
  2. **检查解析是否走了代理或指定上游。**避免直接使用本地运营商的解析;
  3. **使用 TUN 时,核对 DNS 选项。**接管了流量却没处理解析,就会泄露,原理读 TUN 模式是什么意思;
  4. **规则与 DNS 配合。**规则的写法读 Clash 规则模式怎么选;
  5. **留意副作用。**国内网站可能变慢,局域网访问可能异常,需要设置例外;
  6. **一次只改一项,改前备份。**改完用检测页复查。

修复之后,怎么复查

复查项 做法 通过的标志
DNS 来源 再做一次前后对比 开代理后不再显示本地解析
国内网站 访问几个国内网站 速度正常
国外网站 访问几个国外网站 正常
局域网 访问局域网设备 不受影响
重启后 重启后再测 设置依然有效

什么时候需要重新做一次检测

DNS 的状态不是一成不变的,下面这些时刻,建议重新检测一遍:

时刻 为什么
换了客户端 不同客户端的默认 DNS 行为不同
升级了客户端或内核 默认设置可能变化
开启或关闭了 TUN 接管范围变了,DNS 的处理也可能变
改了规则或策略组 可能影响域名走向
换了网络环境 本地 DNS 的情况不同

养成“改动之后检测”的习惯,成本只有几分钟,却能避免长期处于泄露状态而不自知。

常见的误解

  • **“用了代理就不会泄露。”**DNS 是单独的一环,需要单独确认;
  • **“泄露了页面内容就被看光了。”**泄露的是域名,页面内容通常有 HTTPS 保护;
  • **“测一次没事就永远没事。”**换了客户端、升级、改设置之后,要再测;
  • **“检测页的结论就是绝对的。”**它只是一个参考,要结合多次结果判断。

下一步

如果你想进一步了解风险全貌,读 机场安全吗;没选好机场的话,用 选机场向导 缩小范围,再翻 机场推荐榜 核对资料。dns泄露检测的要点:前后对比、多测几次、改一项复查一次。

最后补充:检测只是手段,目的是让你弄清楚自己的网络到底是什么状态。哪怕暂时没条件修复,知道有泄露,也比不知道要好,至少你能据此决定哪些操作要谨慎。

这篇没有覆盖的
  • 检测页的显示内容与判断标准由其提供方决定,会随时变化,本文只讲通用思路,不保证某个页面的结论。
  • 不同客户端的 DNS 选项名称与行为差别很大,请以所用客户端的官方说明为准。
  • 请在本机浏览器里使用检测页,不要把订阅链接或敏感信息提交给任何检测工具。

本文引用的官方来源

这篇的几个常见问题

怎么判断自己有没有 DNS 泄露?

在关闭代理和开启代理两种状态下,分别用公开的检测页查看当前使用的 DNS 解析来源,然后对比。如果开启代理后,显示的仍是你本地运营商的解析服务,说明域名查询没有走代理,可能存在泄露。要多测几次,也要在刷新缓存后测。

DNS 泄露了,页面内容会被看到吗?

泄露的是你查询了哪些域名,而不是页面里的内容。页面内容通常有 HTTPS 保护。但域名本身也是访问记录的一部分,泄露意味着本地网络或运营商可能看到你访问了哪些站点,所以仍然值得重视。

怎么在客户端里修正?

通常要确认客户端接管了 DNS,并且解析走了代理或指定的上游,具体选项因客户端而异。使用 TUN 时尤其要检查。修改之后用检测页复查,并留意国内网站是否变慢、局域网是否受影响。改前备份,一次只改一项。

检测页显示的结果每次都不一样,是怎么回事?

可能是因为解析存在缓存、使用了多个上游、或负载分担的机制。可以多测几次,也可以清除缓存后重测,看结果是否稳定。如果结果时而是代理一侧、时而是本地,说明 DNS 设置不够稳定,需要进一步检查客户端的配置。