跳到主要内容
IPOK

DNS 泄露检测

用代理 / VPN 时,如果 DNS 请求没走代理隧道,会暴露你真实使用的 DNS 服务器(常是本地 ISP 的),从而泄露你的真实归属地——这就是 DNS 泄露,是匿名上网时最常被忽视的漏洞之一。

本工具在你的浏览器内触发一次解析,列出实际响应你的 DNS 服务器及其归属地 / ASN:若解析器与你的代理出口地区不一致,就可能存在 DNS 泄露。

你的公网出口 IP
8 源交叉验证方法论公开免费 · 免登录不偷你的 IP

DNS 请求为什么会绕开代理隧道

DNS 泄露的根因是:解析域名这一步和加载网页这一步走的是两条独立的路。你的代理 / VPN 把 HTTP/HTTPS 流量塞进了隧道,但操作系统决定「example.com 该问哪台 DNS 服务器」时,用的是另一套路由表——如果这套配置没被代理接管,查询就会以明文从你本机直接发给运营商的 DNS,IP 隐藏得再好也白搭。

最常见的四个泄露口子:① 透明 DNS 代理——部分运营商会强制劫持 53 端口,哪怕你手动改成了 1.1.1.1,请求也会被中途截走重定向到运营商自己的解析器,并刻意伪装得让你看不出来;② IPv6 漏网——很多代理只接管 IPv4,系统却优先走 IPv6,于是 IPv6 的 DNS 直接出墙;③ Windows 的 Teredo 隧道和「智能多宿主名称解析(SMHNR)」会并发向多个解析器发查询,谁先回用谁;④ 分流 / 路由规则(split tunnel)把 DNS 划进了直连白名单。

换句话说,「我开了 VPN」不等于「我的 DNS 也走了 VPN」。这正是 DNS 泄露最隐蔽的地方——出口 IP 检测一切正常,绿灯一片,但解析器早就把你卖了。

这次检测到底测了什么

本页的检测器不是简单读一下你设了哪个 DNS,而是触发一次真实解析、反查「最终是谁替你查的」。它的做法是给你的浏览器分配一个一次性测试 ID,让你去解析若干形如 1.<id>.bash.ws、2.<id>.bash.ws 的子域名;每个子域名只能被解析一次,背后的权威服务器会记录下「是哪台递归 DNS 来问的」。

这一步很关键:你以为在用 1.1.1.1,但若运营商透明劫持,权威端记录到的来源会是运营商的解析器——检测器据此列出真正响应你的那批 DNS 服务器,连同每台的归属地、ASN 和运营商类型。判断逻辑很直接:把这些解析器的归属地,跟你代理的出口地区一比,只要出现一台落在你真实所在地(而不是代理地),就说明 DNS 在泄露。

IPOK 把这步和 WebRTC 泄露、出口 IP 一致性放在同一页一起跑,因为这三者是「匿名是否真的成立」的三块拼图:出口 IP 对了、WebRTC 没漏真实 IP、DNS 解析器也全在代理那一侧,才算干净。我们不记录你查询的 IP,结果只在你这一侧呈现。

DNS 地区不一致,比你想的更致命

很多人以为 DNS 泄露只是「隐私被运营商看到」,对跨境电商卖家、流媒体解锁、风控对抗的人群来说,真正的杀伤在于地区判定。现代 CDN 和反欺诈系统会通过 EDNS Client Subnet(ECS)拿到你 DNS 查询所携带的客户端网段,再结合权威端看到的递归解析器位置,来推断你「实际在哪」。

于是会出现一个分裂信号:你的出口 IP 显示在美国,但 DNS 查询暴露出递归解析器在国内、ECS 网段也是国内——对解锁服务,这会被判成「位置可疑」从而灰屏、回退到错误地区的边缘节点、甚至直接 geo-block;对风控引擎,IP 与 DNS 归属打架本身就是一条高权重的异常特征,注册 / 支付环节遇到的额外验证、降权、风控拦截,常常就栽在这里,而当事人还在排查 IP 纯净度。

所以检测 DNS 泄露不只是隐私洁癖,而是「我这套代理在对方眼里到底像不像一个真实的本地用户」的实测。出口 IP、DNS 解析器、时区、语言这几路信号必须同向,任何一路反向都是破绽。

测出泄露后,分平台怎么堵

先确认到底漏的是哪一路,再对症处理,盲目改 DNS 往往按下葫芦浮起瓢。通用第一步:在代理 / VPN 客户端里打开「DNS 走代理 / Remote DNS / 防 DNS 泄露」开关,让解析也进隧道,然后回到本页重测。

如果重测仍漏,多半是 IPv6 或系统层在抢路:① 没有 IPv6 需求时,可在系统网络设置里关闭 IPv6(或在客户端开启「拦截 IPv6 / 路由 ::/0」),堵掉 IPv6 走明文那条路;② Windows 用户额外关掉「智能多宿主名称解析」并禁用 Teredo(netsh interface teredo set state disabled),避免并发查询绕开隧道;③ 检查代理的分流 / 路由规则,确认 DNS 没被划进直连白名单。

怀疑被运营商透明劫持(手动改了 DNS 仍泄露)时,普通明文 DNS 改了也会被截,要用加密 DNS 才能绕开——把解析器换成 DoH / DoT(如 Cloudflare 的 https://1.1.1.1/dns-query、Google 的 8.8.8.8),让 53 端口的劫持无从下手。每改一处都回本页重测一遍,直到列出的解析器全部落在代理出口一侧,才算真正堵住。

常见问题

DNS 泄露有什么危害?

即使 IP 被代理隐藏,DNS 泄露仍会暴露你真实的网络运营商和大致位置,破坏匿名性,也可能被用于地区识别。

检测到泄露怎么办?

在代理 / VPN 客户端开启「DNS 走代理 / 防 DNS 泄露」,或手动把系统 DNS 改成可信解析器(如 1.1.1.1),再重测。

我手动把 DNS 改成了 1.1.1.1,为什么还是测出泄露?

大概率是被运营商透明劫持了——它在 53 端口拦截并把你的明文 DNS 请求强行重定向到自己的解析器,还会伪装得让你以为生效了。普通明文 DNS 改了也没用,要改用加密 DNS(DoH / DoT,如 https://1.1.1.1/dns-query)才能绕过这种劫持,改完回本页重测。

用了加密 DNS(DoH/DoT)就一定不会泄露吗?

不一定。DoH/DoT 能防运营商在传输途中偷看和劫持,但如果你的代理没接管解析、或系统优先走了 IPv6 / Teredo,加密查询照样可能从隧道外发出去,只是这次「偷看的人」变成了你配置的那家加密 DNS 提供商。能否匿名,关键还是看解析器的归属地有没有落在代理出口那一侧,这正是本页要实测的。

检测结果列出了好几台 DNS 服务器,是泄露吗?

数量多不等于泄露——很多公共解析器(如 Cloudflare、Google)本身就是一组负载均衡的服务器,归属地是一致的。判断标准是地区而非数量:把列出的每台解析器归属地跟你的代理出口比,全部同侧就正常;只要有一台落在你真实所在地,就是泄露。

手机用代理也会 DNS 泄露吗?

会。手机同样存在 IPv6 优先、私有 DNS(Android 的「专用 DNS」)绕过代理、以及部分 App 内置自有解析逻辑等问题。安卓建议在代理客户端里开「DNS 走代理」并关掉系统「专用 DNS」,iOS 用描述文件 / 客户端确保 DNS 进隧道,然后用本页在手机浏览器里重测一遍。

相关检测