Birds – Flying beyond the wall

DNS记录怎么查?A、MX、TXT、CNAME查询与异常排查

更新于 2026-11-02 · birds.mom

简答:DNS记录怎么查?最快方法是先确定完整域名或主机名,再按目的查询对应记录:网站地址查 A/AAAA,别名查 CNAME,邮箱查 MX,域名验证查 TXT,权威服务器查 NS。Windows 用 nslookup,macOS/Linux 用 dig 或 host;修改后仍显示旧值时,要对比不同解析器并检查 TTL、查询名称和实际托管 DNS 的服务商。

定义:DNS记录是域名系统中描述主机地址、别名、邮件服务器、权威名称服务器或验证文本等信息的资源记录。

先试这一步:一分钟查出常见 DNS 记录

先准备准确的查询名称。根域名、www 子域名和验证主机名不是同一个对象,例如网站可能要查 example.com 或 www.example.com,邮件验证则可能要查 _dmarc.example.com。

  1. 网站打不开或想确认解析到哪个地址:查 A 和 AAAA。
  2. 想确认域名别名指向哪里:查 CNAME。
  3. 想确认邮件由哪些服务器接收:查 MX。
  4. 想核对域名验证、SPF、DKIM 或 DMARC:查对应主机名的 TXT。
  5. 想确认域名使用哪些权威 DNS:查 NS,必要时再查 SOA。

DNS 响应中的 TTL 表示记录在解析器缓存中可以保留的时间间隔;它不是网站服务可用时间,也不能单独证明网站或邮箱一定正常。RFC 1035 对资源记录、TTL 和常见记录格式作了基础定义。

你想确认什么优先查询的记录查询对象示例成功标准
网站 IPv4 地址Aexample.com 或 www.example.com返回预期 IPv4 地址
网站 IPv6 地址AAAAexample.com返回预期 IPv6 地址,或确认确实没有 IPv6
域名别名CNAMEwww.example.com返回目标主机名
邮件接收服务器MXexample.com返回邮件服务器及优先级
域名验证或发信策略TXTexample.com、_dmarc.example.com返回与平台要求完全一致的文本
权威 DNS 服务器NSexample.com返回当前委派的名称服务器

在线查询:适合快速看结果和比较解析器

不想输入命令时,可以使用浏览器查询页面。Google Public DNS 文档说明,进入其 DNS 结果页面后输入域名、IP 或指定资源记录类型,即可查看详细响应;这种方式适合先确认记录是否存在,再决定是否用命令行深入排查。Google Public DNS 故障排查文档

  1. 输入完整域名或主机名,不要把网页地址中的 https://、路径和参数一起输入。
  2. 选择或指定记录类型,例如 A、AAAA、MX、TXT 或 NS。
  3. 记录查询名称、返回值、状态以及 TTL;如果页面显示响应服务器,也一并记录。
  4. 用不同递归解析器重复查询。结果不同不一定代表某一方错误,可能是缓存时间、查询地点、委派或记录刚修改造成的差异。

在线查询只能说明某个解析器在当前时刻看到了什么。它不能直接证明网站端口、证书、邮件登录或应用服务已经可用;这些还需要分别做连接测试。

Windows 查询 DNS:用 nslookup 指定记录类型

Windows 10、Windows 11 和受支持的 Windows Server 版本都提供 nslookup。Microsoft 文档说明,非交互模式下可以把查询名称和指定 DNS 服务器写在同一条命令中;省略服务器时,工具会使用系统配置的默认 DNS 服务器。Microsoft Learn:nslookup

  1. 打开命令提示符或 PowerShell。
  2. 查询网站 IPv4:nslookup -type=A example.com。
  3. 查询 IPv6:nslookup -type=AAAA example.com。
  4. 查询邮箱:nslookup -type=MX example.com。
  5. 查询文本验证:nslookup -type=TXT example.com。
  6. 查询指定解析器:nslookup -type=A example.com 8.8.8.8。

如果要避免本机搜索后缀影响,可以使用完整主机名;在需要严格测试时,可在名称末尾加点,例如 example.com.。看到 Non-existent domain 通常表示查询名称不存在或输入错误;看到 No records 表示名称有效,但当前查询类型没有记录;看到 timed out 则应检查 DNS 服务器可达性、网络和防火墙。Microsoft 的 DNS 排障说明也建议用 nslookup <name> <DNS服务器IP> 对比指定服务器的响应。Microsoft Learn:DNS 服务器故障排除

macOS 和 Linux 查询 DNS:用 dig 或 host

macOS 和多数 Linux 系统常用 dig 或 host。BIND 参考手册将 dig、host 和 nslookup列为手动查询名称服务器的命令行工具。BIND 9 管理员参考手册

  1. 查询 A 记录:dig example.com A。
  2. 查询 AAAA 记录:dig example.com AAAA。
  3. 查询 MX 记录:dig example.com MX。
  4. 查询 TXT 记录:dig example.com TXT。
  5. 查询 NS 记录:dig example.com NS。
  6. 只看回答区,减少无关输出:dig +noall +answer example.com A。
  7. 指定解析器:dig @8.8.8.8 example.com A。
  8. 使用更简洁的 host:host -t MX example.com。

重点看输出中的 status、ANSWER SECTION、记录类型、返回值和 TTL。NOERROR 可能表示查询成功,即使该类型没有答案;NXDOMAIN表示查询名称不存在;SERVFAIL表示解析器无法完成查询,可能与权威服务器、委派、DNSSEC 或临时故障有关,不能简单等同于“没有记录”。

A、AAAA、CNAME、MX、TXT、NS、SOA、CAA、SRV分别是什么

  • A:把主机名映射到 IPv4 地址。
  • AAAA:把主机名映射到 IPv6 地址。
  • CNAME:把一个主机名指向另一个规范名称;它不是直接的 IP 地址。
  • MX:声明域名的邮件接收服务器,并带有优先级数值。
  • TXT:保存与域名相关的文本,常用于验证、发信策略等场景;具体含义取决于使用它的系统。
  • NS:指出负责该域名区域的名称服务器。
  • SOA:提供区域的起始授权信息,包括主名称服务器、序列号和计时参数。
  • CAA:声明允许为域名签发证书的证书颁发机构策略;是否生效还要结合证书签发方的检查规则。
  • SRV:为特定服务提供目标主机和端口等信息;查询时必须使用完整的服务名称格式。

记录类型只是查询入口,不是服务健康检查。例如查到 A 记录只能说明解析器返回了地址,不能说明该地址上的 Web 服务一定能建立连接。

查不到、仍是旧值或不同工具结果不一致怎么办

  1. 先核对查询名称。确认你查的是根域名、www、邮件主机、_dmarc 还是某个验证子域名。DNS 记录挂在具体名称下,查错主机名就会得到空结果或 NXDOMAIN。
  2. 确认修改的是实际权威 DNS。先查 NS,把返回的名称服务器与域名注册商或 DNS 托管控制台显示的服务器对照。若两者不一致,可能改错了管理平台。
  3. 分别查询不同递归解析器。例如用 nslookup -type=A example.com 8.8.8.8,或用 dig @8.8.8.8 example.com A。也可以与系统默认 DNS 的结果对比。
  4. 查看 TTL 并等待缓存更新。TTL 是缓存时间提示;修改后,不同解析器、网络和设备可能在不同时间看到新值。RFC 1035 和 RFC 2181 都说明了 TTL 与缓存之间的关系。RFC 2181:DNS 规范澄清
  5. 检查是否为记录类型问题。例如只配置了 A,却查询 AAAA;只给 www.example.com 配置了 CNAME,却查询根域名。
  6. 最后再查权威服务器。先获得 NS,再直接向其中一个名称服务器查询,例如 dig @ns1.example.net example.com A。如果权威结果正确、公共解析器仍旧不同,重点排查缓存或委派;如果权威结果就不正确,应回到 DNS 托管控制台核对记录。

Windows DNS 排障文档还建议在指定 DNS 服务器上重复 nslookup 测试,并根据超时、拒绝、服务器失败和无记录等提示区分故障范围。Microsoft Learn:DNS 客户端故障排除

查询完成后的成功标准与安全边界

  • 查询名称与实际业务对象一致。
  • 记录类型选对,返回值与控制台中的预期值一致。
  • 至少用系统默认解析器和一个指定解析器各查一次。
  • 修改记录后保存查询结果、TTL 和查询时间,便于后续对照。
  • 不要把 DNS 查询结果当作网站、邮箱或客户端服务已经正常的证明;仍需按业务场景测试连接、端口、证书或登录。
  • 查询命令中通常不需要账号密码、订阅链接或私密配置;不要把敏感凭据粘贴到在线工具或公开页面。

如果 DNS 查询正常但网页仍打不开,可以继续检查本机 DNS 缓存、网络连接、代理设置和目标服务;如果只有某个网络失败,再做不同网络和解析器的对照。

常见问题

DNS记录怎么查最快?

先确定域名或完整主机名,再按目的查询记录类型。网站地址查 A/AAAA,别名查 CNAME,邮箱查 MX,验证文本查 TXT,权威 DNS 查 NS。Windows 用 nslookup,macOS/Linux 用 dig 或 host。

为什么查不到 DNS 记录?

常见原因是查错了主机名、记录类型不匹配、记录尚未创建、修改了错误的 DNS 托管平台,或查询结果仍来自缓存。建议先查 NS 确认权威服务器,再用指定解析器和权威服务器分别查询。

DNS修改后多久能查到新记录?

不能只凭固定时间判断。TTL 会影响递归解析器缓存,不同解析器和网络看到新值的时间可能不同。应记录修改前后的 TTL,并对比系统默认解析器、指定解析器和权威服务器的结果。

A记录和CNAME记录有什么区别?

A 记录直接返回 IPv4 地址,CNAME 返回另一个主机名。查网站 IP 时通常看 A 或 AAAA;查别名关系时看 CNAME。具体配置还要遵循 DNS 托管平台对根域名和子域名的限制。

DNS查询结果能证明网站一定正常吗?

不能。DNS 查询只说明名称解析结果,不能直接证明 Web 端口、TLS 证书、邮件登录或应用服务正常。解析成功后,还要根据具体业务继续做连接和服务层验证。

相关阅读

参考资料

  1. Microsoft Learn:nslookup 命令
  2. Microsoft Learn:对 DNS 服务器进行故障排除
  3. Microsoft Learn:对 DNS 客户端进行故障排除
  4. Google Public DNS:故障排查
  5. BIND 9 管理员参考手册
  6. RFC 1035:Domain Names - Implementation and Specification
  7. RFC 2181:Clarifications to the DNS Specification