ToolAct工具行动

DNS 查询

在线查询域名的 DNS 记录(A/AAAA/MX/TXT/NS/CNAME/SOA 等),通过 DoH 解析,浏览器本地运行保护隐私

输入域名,选择记录类型,点击「查询」

什么是 DNS 查询?

DNS(Domain Name System,域名系统)是互联网的「电话簿」,负责把人类可读的域名(如 example.com)翻译成机器通信用的 IP 地址。DNS 查询就是向 DNS 服务器请求某个域名下的指定记录,例如 A 记录返回 IPv4 地址、MX 记录返回接收邮件的服务器、TXT 记录常用于 SPF/DKIM 与域名所有权验证。本工具通过 DoH(DNS over HTTPS)协议直接在浏览器内完成查询,请求由你的浏览器发往公共 DNS 解析服务商,不经过我们的服务器,查询内容和结果都留在本地,保护隐私。

使用方法

使用步骤

  1. 在输入框中填写要查询的域名,例如 example.com
  2. 在「记录类型」下拉框中选择需要查询的记录类型(如 A、MX、TXT)
  3. 可选:切换 DoH 服务商(Cloudflare、Google 或阿里公共 DNS)
  4. 点击「查询」按钮或按 Enter
  5. 在结果表格中查看名称、类型、TTL 和记录值

查询说明

  • TTL(生存时间)单位为秒,表示该记录在解析器缓存中的有效时长,数值越小变更生效越快。
  • 若返回状态为 NXDOMAIN,表示该域名不存在;NOERROR 但无应答记录,通常是该类型未配置。
  • MX 记录的值形如「10 mail.example.com」,前面的数字是优先级,越小越优先。
  • TXT 记录可能较长且包含引号,属于正常现象,常用于 SPF、DKIM、DMARC 及域名验证。

使用场景

网站无法访问时排查域名解析查询 A/AAAA 记录确认域名是否正确解析到服务器 IP;若返回 NXDOMAIN 或解析到错误 IP,问题往往出在 DNS 配置而非服务器本身。结合 TTL 判断缓存是否已过期,可快速区分是配置错误还是缓存未刷新。
配置邮箱前核对 MX 记录在将域名接入企业邮箱(如 Exchange、腾讯企业邮)前,查询 MX 记录确认是否已指向正确的邮件服务器,并检查优先级顺序是否正确,避免邮件投递失败或被对方误判为垃圾邮件。
验证 SPF/DKIM/DMARC 邮件安全策略查询 TXT 记录检查 SPF(v=spf1 ...)、DKIM 选择器(如 default._domainkey)和 DMARC(_dmarc)记录是否已正确发布,帮助降低邮件被拒收或被伪造的风险,是邮件送达率排查的常用手段。
域名迁移或 DNS 变更后确认全球生效切换 DNS 服务商或修改记录后,通过不同 DoH 服务商查询对比结果,判断新记录是否已传播。TTL 较大时旧记录可能仍被缓存,需等待 TTL 过期后全球解析才会统一。
获取域名的权威 DNS 服务器查询 NS 记录可了解域名由哪些权威名称服务器负责解析,用于确认 DNS 托管商是否已切换成功,或在排查解析异常时定位责任方,配合 SOA 记录查看管理联系人刷新周期。

技术原理

DNS 查询在传统上通过 UDP 协议向 53 端口发起:客户端向配置的递归解析器发送一个包含查询名称和类型的 DNS 报文,解析器递归地向根、顶级域、权威服务器逐级查询,最终把应答返回给客户端。这一过程定义于 RFC 1035,报文是紧凑的二进制格式,浏览器出于安全限制无法直接收发 UDP 53,因此网页端 DNS 工具通常需要后端代理。 DoH(DNS over HTTPS)定义于 RFC 8484,把 DNS 报文封装在 HTTPS 请求中传输,默认端口 443。它有两种载荷形式:二进制的 wireformat(application/dns-message)和 JSON 格式(application/dns-json,由 Google 在 RFC 8484 之外额外提供,Cloudflare 也支持)。本工具使用 JSON 形式:浏览器向 `https://cloudflare-dns.com/dns-query?name=example.com&type=A` 发送带 `Accept: application/dns-json` 头的 GET 请求,直接拿到结构化 JSON 应答,无需后端。 返回 JSON 中的关键字段:`Status` 为 DNS RCODE(0=NOERROR,3=NXDOMAIN 域名不存在,2=SERVFAIL 服务器故障);`Answer` 数组每项含 `name`(记录名)、`type`(记录类型数字码,如 1=A、28=AAAA、15=MX、16=TXT、2=NS、6=SOA、5=CNAME)、`TTL`(缓存生存时间,秒)、`data`(记录值)。权威应答也可能出现在 `Authority`(SOA、NS)和 `Additional` 段中。 DoH 的核心价值在于隐私与抗干扰:DNS 查询被 HTTPS 加密,中间人无法像明文 UDP 53 那样窥探或篡改查询内容,也难以通过端口识别进行流量劫持。这也使得本工具能在纯浏览器环境下完成查询——流量直达 DoH 提供商,不经任何中间服务器。

  • 传统 DNS:RFC 1035,UDP/TCP 53 端口,二进制报文,浏览器无法直接收发,需后端代理。
  • DoH:RFC 8484,HTTPS 封装 DNS,443 端口,加密查询内容,抗窥探与抗劫持。
  • JSON DoH:请求带 `Accept: application/dns-json`,返回结构化 JSON,Cloudflare 与 Google 均支持,CORS 开放,浏览器可直连。
  • RCODE:0=NOERROR、2=SERVFAIL、3=NXDOMAIN(域名不存在)、5=REFUSED。
  • 记录类型码:1=A、28=AAAA、5=CNAME、15=MX、16=TXT、2=NS、6=SOA、33=SRV、257=CAA。
  • TTL 为缓存生存时间(秒),递归解析器在 TTL 内直接返回缓存结果,过期后才会重新向权威服务器查询。

示例

查询 example.com 的 A 记录

域名:    example.com
类型:    A
状态:    NOERROR

Answer:
  example.com.   300   A   93.184.216.34

# TTL 300 秒:该 IPv4 记录将被缓存 5 分钟。

查询 gmail.com 的 MX 记录

域名:    gmail.com
类型:    MX
状态:    NOERROR

Answer:
  gmail.com.   3600   MX   5 gmail-smtp-in.l.google.com.
  gmail.com.   3600   MX   10 alt1.gmail-smtp-in.l.google.com.

# 数字为优先级,越小越优先;邮件优先投递到 5 对应的服务器。

查询 example.com 的 TXT 记录(SPF)

域名:    example.com
类型:    TXT
状态:    NOERROR

Answer:
  example.com.   3600   TXT   "v=spf1 -all"

# 该 SPF 策略表示域名不发送邮件,所有来源均被拒绝。

查询不存在的域名(NXDOMAIN)

域名:    this-domain-does-not-exist-12345.com
类型:    A
状态:    NXDOMAIN

Answer: (无)

# Status=3 表示该域名在 DNS 中不存在,并非服务器故障。

常见问题

DNS 查询会泄露我的隐私吗?

不会。查询请求由你的浏览器直接发往你选择的 DoH 服务商(Cloudflare、Google 或阿里公共 DNS),全程 HTTPS 加密,不经过本站服务器,我们看不到你查了什么。这相比传统明文 UDP 53 查询反而更安全。

为什么不同服务商返回的结果有时不一致?

DNS 结果会按 TTL 被各级解析器缓存,不同服务商的缓存状态和刷新时机不同,因此在记录刚变更的传播期内可能返回新旧不同的值。等待旧记录的 TTL 过期后,结果会趋于一致。

NOERROR 但没有应答记录是什么意思?

表示域名存在且查询成功,但该域名没有配置你所查类型的记录。例如查询某域名的 MX 记录返回空,通常意味着该域名不接收邮件。Authority 段一般会返回 SOA 记录作为否定缓存的依据。

TTL 数值大小有什么影响?

TTL(秒)决定记录在解析器缓存中的有效时长。TTL 大则全球解析快、服务器负载低,但记录变更后生效慢;TTL 小则变更生效快,但查询更频繁。准备变更 DNS 前常会先调小 TTL。

支持反向 DNS 查询(IP 查域名)吗?

支持。查询 PTR 记录时,需要把 IP 地址按反向格式输入:例如 8.8.8.8 对应 8.8.8.8.in-addr.arpa,IPv6 则使用 ip6.arpa 后缀。返回的 PTR 记录即该 IP 反向解析到的域名。

为什么浏览器直接访问 DoH 链接会报 400?

Cloudflare 的 JSON DoH 端点要求请求携带 Accept: application/dns-json 头,地址栏直接访问默认发出的是 HTML Accept 头,因此返回 400。这是正常现象,代码中用 fetch 自定义请求头即可正常调用。

能查询任意顶级域名吗?

可以。只要该域名已在 DNS 中注册并配置了对应记录,包括通用顶级域(.com、.org)、国家代码域(.cn、.jp、.de)以及新通用顶级域,DoH 服务商都会递归解析并返回结果。