DNS 查询工具

在浏览器里通过 DNS-over-HTTPS 查询域名的 A、MX、TXT、CAA、NS、SOA、SRV、PTR 记录。可选 Cloudflare 或 Google 解析,显示 DNSSEC 验证结果和原始 JSON。

  • 查询时会把域名发给所选的 DNS 服务商(Cloudflare 或 Google)
  • 免费 · 无需注册
输入域名或完整网址后点「查询」或按回车。网址、端口、末尾的点、全角字符和国际化域名会先规范化为 ASCII 主机名。域名至少有两段,每段为 1–63 个字母、数字、连字符或下划线,不能以连字符开头或结尾,总长不超过 253 个字符。输入无效时会指出出错的字符位置或哪一段违反了规则。
ALL 同时查询 A、AAAA、CNAME、MX、TXT、NS、SOA、CAA 八种类型。PTR 和 SRV 需单独查询,并输入完整的反向名称或服务名称;工具不会将 IP 地址自动转成反向名称。
浏览器直接向所选的 Cloudflare 或 Google 解析器发起查询,解析器能看到你的 IP 地址和查询的域名。每次请求超过 5 秒即超时;一家被网络阻断时可换另一家。
试试:

查询后,这里显示 DNS 记录、解析器状态和响应 JSON。

阅读完整使用指南 浏览器里查 DNS:用 DNS-over-HTTPS 查询 A、MX、TXT 和 CAA 记录
示例、说明与常见问题 带实际输出的示例、与同类工具的差别,以及常见问题。

实测:腾讯的按地区分流和 QQ 邮箱的记录

以下结果在 2026-09-29 与 2026-09-30 查询,重查时 TTL 会不同。

同一个域名,查询来源不同,IP 就不同。 Google 会把查询者 IP 的一部分(EDNS Client Subnet)发给权威服务器,Cloudflare 不发,CDN 据此按位置返回不同节点。Google 的 JSON 接口 可以用 edns_client_subnet 参数自己指定这个子网(本页不发送该参数)。2026-09-30 用它查 www.qq.com 的 A 记录:114.114.114.0/24 得到 121.14.77.201、121.14.77.221,8.8.8.0/24 得到 43.159.109.55,139.130.4.0/24 得到 43.168.224.173。给 Cloudflare 带上同样的参数,它不理会,返回 43.159.109.55。复现命令:

curl -s 'https://dns.google/resolve?name=www.qq.com&type=A&edns_client_subnet=114.114.114.0/24'

所以本页显示的是公共解析器按它看到的位置给出的结果,不等于你家运营商 DNS 的结果。两个解析器返回的 IP 不同,也不说明哪一家出了错。

检查一个邮箱域名的配置。 qq.com 的 MX 返回 10 mx3.qq.com.、20 mx2.qq.com.、30 mx1.qq.com.,数字越小越优先。_dmarc.qq.com 的 TXT 返回 v=DMARC1; p=quarantine; rua=mailto:mailauth-reports@qq.com,表示没通过验证的邮件按隔离处理(DMARC 记录的位置见 RFC 7489 §6.1)。自己的域名配邮件时,按同样的顺序查 MX、根域名的 TXT(SPF)、_dmarc 的 TXT。

签名验证失败的域名。 dnssec-failed.org 是 Google 文档 里用来演示验证失败的域名。两个解析器都返回 SERVFAIL,DNSSEC 标签显示「DNSSEC 验证失败」。Cloudflare 的备注是 EDE(9): DNSKEY Missing ...。Google 返回一句说明(附 DNSViz 和 Verisign DNSSEC Debugger 的链接)和结构化字段 extended_dns_errors,本页把后者显示为 EDE(9): No DNSKEY matches DS RRs of dnssec-failed.org。9 是 RFC 8914 定义的扩展错误码 DNSKEY Missing。

为什么本机 dig 查到的不一样

在一台开着代理软件 fake-ip 模式的测试机上,dig @1.1.1.1 dnssec-failed.org 返回 NOERROR 和 198.18.2.147。198.18.0.0/15 是保留给性能测试的地址段(RFC 6890),mihomo(Clash Meta)的 默认 fake-ip 范围 就在这段里。也就是说,即使写了 @1.1.1.1,发往 53 端口的查询也被代理软件截下并编了一个地址。本页走 HTTPS,拿到的是真实的 SERVFAIL。

排查「本机打不开,但别人能打开」时,先在本页查一次,再和本机 dig 的结果对照:两边不同,问题多半在本机的代理、hosts 或运营商 DNS。

与 dig、nslookup 和其他在线查询站的区别

  • dig / nslookup:能指定任意权威服务器(dig @ns1.example.com),适合脚本和服务器上使用;结果受本机网络环境影响,如上所述。
  • Google Admin Toolbox Dig:查询由它的后端(/apps/dig/lookup)发出。查 dnssec-failed.org 时主界面只显示「Record not found!」,原始视图里才有 rcode SERVFAIL;查 example.com 时标志行是 QR RD RA,看不到 AD 标志。
  • 本页:浏览器直接问 Cloudflare 或 Google,可以切换对比;显示 DNSSEC 验证结果和解析器备注;JSON 原样可复制。

域名解析出 IP 后,可以用 HTTP Header 分析器 看服务器返回什么,用 SSL 证书解析 看它用的证书。

限制

  • 只能选 Cloudflare 和 Google,不能填自己的 DoH 地址,也不能直接问权威服务器。
  • 每个解析器只有一个观察点,不做多地区传播检测。
  • ALL 只查八种类型。PTR 要自己输入 1.1.1.1.in-addr.arpa 这种反向名称;SRV 要输入完整名称,如 _xmpp-server._tcp.jabber.org。下拉框以外的类型(DS、DNSKEY、HTTPS、TLSA)查不了。
  • TXT 记录超过 255 字节时会拆成多段(RFC 1035 §3.3)。Cloudflare 按段加引号、用空格分隔,Google 拼成一整段、不加引号,两者是同一条记录。
  • 域名至少两段;每段 1–63 个字母、数字、连字符或下划线,不能以连字符开头或结尾,总长不超过 253。报错会写明原因:exa mple.com 提示第 4 个字符「 」(U+0020)不能用在域名里,-foo.com 提示第 1 段「-foo」以连字符开头。以数字结尾的主机(如 https://example.123/)会被浏览器当作 IPv4 地址读取,报错写明这一点;端口超过 65535、以 dns:// 等非 http 协议开头也各有说明。

FAQ

查询的域名会发给 ZeroTool 吗?

不会。浏览器直接把查询发给你选的 cloudflare-dns.com 或 dns.google,对方能看到你的 IP 和查询的域名,中间没有 ZeroTool 的服务器。页面和站内其他页面一样加载 Google Analytics 和 AdSense,统计事件里只有工具名和动作(lookup 或 copy_json),不含域名。

为什么和本机 dig、nslookup 的结果不一样?

dig 和 nslookup 问的是本机正在用的 DNS。开着代理软件的 fake-ip 模式时,53 端口由代理软件自己回答,返回 198.18 开头的假地址。本页用 HTTPS 直接问公共解析器,看到的是公网上的真实结果。公司内网、hosts 文件里的记录,本页也查不到。

DNSSEC ✓ 是什么意思?

表示解析器返回的 AD 标志为真,即回答里的每条记录都通过了 DNSSEC 签名验证。显示「未启用 DNSSEC」通常是域名没有签名,或者 CNAME 指向了没签名的域名。签名验证失败时解析器返回 SERVFAIL:如果响应带有 DNSSEC 类扩展错误码(RFC 8914 的 1、2、5–12),标签显示「DNSSEC 验证失败」,记录下方的解析器备注写明原因;其他 SERVFAIL 不显示 DNSSEC 标签,因为解析器没有给出回答,AD 标志说明不了是否签名。

DMARC、DKIM 记录怎么查?

输入完整的记录名,类型选 TXT。DMARC 在 _dmarc.example.com,DKIM 在 选择器._domainkey.example.com,选择器名要从邮件头的 DKIM-Signature 里的 s= 取。本页接受带下划线的名称。

Google 解析器一直报网络错误怎么办?

每次查询 5 秒没有返回就会取消。如果所在网络连不上 dns.google 或 cloudflare-dns.com,页面会显示网络错误,换另一个解析器再试。两个都连不上时,这个页面就用不了,请在本机用 dig 查询。