DNS 泄露检测

知道吗?DNS 可能正在悄悄的暴露真实上网位置。一键检测,看看 DNS 有没有在背后出卖你的信息。

🔒
自建权威 DNS
不依赖第三方,数据更安全
检测更快
5 秒出结果,无需注册
🎯
准确可靠
顶级解决方案,准确无误
🛡️
隐私优先
0记录,0日志,0缓存
点击上方按钮,立即检测你的 DNS 是否安全

📖 拓展阅读

DNS 泄露是什么?为什么你应该在意?

简单来说,你每次访问一个网站,浏览器都要先问一个叫 DNS 服务器的东西:"这个域名对应的 IP 是多少?"这个过程就像你查通讯录一样——你输入名字,它告诉你电话号码。

问题来了:你的 DNS 查询记录,就是你的上网记录。

正常情况下,如果你用了代理,你的网络流量会走加密通道。但很多人不知道的是,DNS 查询可能根本没走代理,还是直接发给了你本地运营商的 DNS 服务器。

这意味着什么?你以为自己"隐身"了,实际上运营商清清楚楚地知道你访问了哪些网站。这就是 DNS 泄露

更可怕的是,有些运营商会部署"透明 DNS 代理"——就算你手动改了 DNS 设置(比如改成 8.8.8.8),你的 DNS 请求还是会被运营商拦截和重定向。你完全无感知,但你的所有查询记录都被记录了。

所以,光开代理是不够的。你需要确认 DNS 查询也走了代理通道,否则就是在裸奔。

发现 DNS 泄露了,怎么修?

核心原则只有一条:连上代理之后,确保你只使用代理提供的 DNS 服务器,而不是本地运营商的。

🌐 浏览器设置

Chrome、Edge、Firefox 等现代浏览器都有一个叫"安全 DNS"或"DNS over HTTPS"的功能。这个功能本意是好的(加密 DNS),但可能会绕过你的代理设置,导致 DNS 走了浏览器自己选的 DNS 服务器而不是代理的。

如果你用了代理,建议在浏览器设置里关掉"使用安全 DNS",让 DNS 查询走代理通道。

💻 系统设置

Windows 用户:打开命令提示符,运行 ipconfig /flushdns 清除 DNS 缓存。然后在网络适配器设置里,把 DNS 服务器改成代理提供的地址。

Mac 用户:在"系统偏好设置 → 网络"里删掉手动填写的 DNS,让代理自动接管。终端运行 sudo dscacheutil -flushcache 刷新缓存。

🔧 代理工具配置

如果你用了代理客户端,确保 DNS 配置里开启了"DNS 劫持"或"fake-ip"模式。这样所有 DNS 查询都会被代理客户端接管,不会泄露到本地。

改完之后,回到本页重新测一次,确认泄露已修复。

为什么用了代理,DNS 还是会泄露?

很多人以为开了代理就万事大吉,DNS 查询自然也会走代理。实际情况是:大部分代理配置下,DNS 仍然走的是本地网络。这是 DNS 泄露最常见的原因。

原因一:代理客户端没有接管 DNS

HTTP/SOCKS5 代理只负责转发 TCP 连接。浏览器在发起 TCP 连接之前,会先做一次 DNS 解析来获取目标 IP。如果代理客户端没有配置"远程 DNS 解析"(Remote DNS),这次 DNS 查询就会直接发给本地运营商的 DNS 服务器——你的访问意图就暴露了。

原因二:系统 DNS 和代理 DNS 不一致

就算代理客户端配了 DNS,系统层面的 DNS 设置可能完全不同。某些应用(尤其是非浏览器应用)不走代理的 DNS,而是直接用系统 DNS,导致部分流量走代理 DNS、部分走本地 DNS,出口 IP 出现"分裂"。

原因三:IPv6 DNS 绕过代理

一个容易被忽视的问题:很多代理规则只处理 IPv4 的 DNS 请求。如果你的系统启用了 IPv6,AAAA 记录的 DNS 查询可能直接走本地运营商出去了。这也是我们建议在代理场景下 关闭 IPv6 的原因之一。

怎么彻底解决?

  • TUN 模式:使用 TUN/虚拟网卡模式代替系统代理,让所有流量(包括 DNS 的 UDP 请求)都经过代理
  • 代理内置 DNS:在代理客户端中启用 DNS 劫持或 fake-ip 模式,确保所有 DNS 查询由代理处理
  • DoH/DoT:将系统或浏览器的 DNS 设为加密 DNS(DoH),即使没走代理,运营商也看不到查询内容
  • 关闭 IPv6:避免 IPv6 DNS 查询绕过代理规则

修改完配置后,回到本页面重新检测。如果只看到你代理服务器所在地区的 DNS 出口 IP,说明配置成功了。

DoH、DoT、普通 DNS 有什么区别?哪个最安全?

你每次访问网站,浏览器都要先做一次 DNS 查询,把域名翻译成 IP 地址。这个查询过程有三种常见方式:

普通 DNS(端口 53):传统方式,查询内容完全明文传输。运营商、路由器、公共 WiFi 的管理者都能看到你在查什么域名。不仅有隐私风险,还容易被劫持——运营商可以把你的查询结果替换成广告页面或错误的 IP。

DoT(DNS over TLS,端口 853):把 DNS 查询包在 TLS 加密隧道里传输。中间人看不到你查了什么,但能看到你在和 DNS 服务器通信(因为 853 端口很明显)。部分运营商会直接封锁 853 端口。

DoH(DNS over HTTPS,端口 443):把 DNS 查询伪装成普通的 HTTPS 流量。中间人既看不到内容,也很难分辨这是 DNS 查询还是正常网页访问。这是目前隐私性最好的方案。

协议加密隐蔽性被封锁风险
普通 DNS容易被劫持
DoT (853)TLS 加密低(端口特征明显)可能被封
DoH (443)HTTPS 加密高(混在普通流量里)很难被封

常见 DNS 服务商地址对比:

服务商普通 DNSDoTDoH
Cloudflare1.1.1.11dot1dot1dot1.cloudflare-dns.comhttps://1.1.1.1/dns-query
Google8.8.8.8dns.googlehttps://dns.google/dns-query
Quad99.9.9.9dns.quad9.nethttps://dns.quad9.net/dns-query
AliDNS223.5.5.5dns.alidns.comhttps://dns.alidns.com/dns-query
腾讯 DNSPod119.29.29.29dot.pubhttps://doh.pub/dns-query

推荐配置:在代理客户端或系统设置中,将 DNS 改为 DoH 模式。配置完之后,回到本页面重新测试,确认 DNS 查询走的是你设定的服务器而非运营商。

WebRTC 泄露又是什么鬼?

WebRTC 是浏览器内置的一个技术,用于视频通话、语音聊天等实时通信。它本身没毛病,但有个副作用:它会绕过代理,直接暴露你的真实 IP。

原理是这样的:WebRTC 为了建立点对点连接,会通过 STUN 服务器来发现你的真实外网 IP。这个过程走的是 UDP 协议,而很多代理只处理 TCP 流量。所以就算你开了代理,WebRTC 可能会直接把你的真实 IP 发送出去。

网页上的 JavaScript 代码可以在你完全不知情的情况下调用 WebRTC,拿到你的 IP 地址。这不需要任何权限弹窗。

怎么防?

  • Firefox:地址栏输入 about:config,搜索 media.peerconnection.enabled,设为 false
  • Chrome / Edge:安装 uBlock Origin 扩展,里面有"阻止 WebRTC 泄露本地 IP"的选项
  • Brave:设置 → 隐私 → WebRTC IP 处理策略,选"禁用非代理 UDP"

你也可以在本站的 WebRTC 泄露检测 页面查看详细的 WebRTC 泄露检测结果。