Birds – Flying beyond the wall

DNS Lookup怎么查?记录类型、解析器与生效判断完整指南

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

简答:DNS Lookup就是查询域名当前返回的DNS记录。最短路径是:先查目标主机名的A/AAAA记录,再用不同解析器对比,最后直接查询权威名称服务器;如果结果不同,再检查TTL、NXDOMAIN、SERVFAIL、NS委派和记录是否保存。

定义:DNS Lookup是向指定DNS解析器或权威名称服务器查询域名记录,并读取记录值、TTL、响应码和权威信息的过程。

结论速查:先查什么、看到什么才算正常

如果你只是想确认网站是否解析,先查A和AAAA;如果是邮件问题,查MX,并按邮件服务商要求查询对应主机名下的TXT记录;如果是域名迁移,先查NS和SOA;如果是证书签发失败,检查CAA;如果是IP反查,则使用PTR。DNS记录的用途和字段由记录类型决定,A、AAAA、CNAME、MX、NS、PTR、SOA等常见类型可参考Google Cloud DNS概览与DNS记录类型说明。

你要确认的事情优先查询正常时重点看什么
网站或接口指向哪个地址A、AAAA返回的IPv4或IPv6是否为预期地址
域名是否有别名跳转CNAME别名目标是否正确,是否形成异常链路
邮件投递到哪里MX邮件主机和优先级是否符合服务商要求
谁负责解析该域名NS、SOA名称服务器是否与DNS托管商或注册商设置一致
域名验证、发信策略或证书授权TXT、CAA完整字符串是否存在,主机名是否查对
IP地址对应的主机名PTR反向解析结果是否符合服务器配置

先试这一步:不要把完整网址直接当作查询名称。将https://、路径和参数去掉,例如把https://www.example.com/login改为www.example.com,再选择记录类型查询。

前置条件:域名、主机名和解析器要分清

  • 查询名称:网站首页通常查询根域名或www子域名;邮件验证、API和证书验证往往需要查询具体子域名,不能只查根域名。
  • 解析器:本机配置的DNS解析器可能返回缓存结果;公共递归解析器也可能因位置和缓存时间不同而返回不同结果。
  • 权威名称服务器:保存该DNS区域原始记录的服务器。递归解析器通常从权威服务器取得结果后再缓存;权威服务器和递归解析器的区别可参考Google Cloud对DNS解析流程的说明。
  • 记录类型:一次只查询你要验证的类型,不要把“查全部记录”当成唯一判断方法。对网站、邮件和验证记录分别查询,结果更容易判读。
  • 时间记录:记下查询日期、时间、查询名称、类型、解析器地址和结果。没有时间戳的截图很难判断结果是否已经变化。

DNS Lookup、DNS传播检查、DNS扫描和DNS监控不是同一个概念:DNS Lookup是一次查询;传播检查通常会比较多个地点或解析器;扫描会尝试更多记录类型;监控则是持续记录变化并在异常时通知。本文重点解决一次查询和变更后的核验,不把一次结果当作全球所有网络的最终结论。

最短流程:用命令完成一次可复现的DNS Lookup

  1. 先查本机默认解析器。在macOS或Linux终端执行:dig example.com A。指定记录类型时,将A换成AAAA、CNAME、MX、NS、TXT或SOA。dig默认查询系统配置的解析器,也支持使用dig @server name type指定服务器;命令格式可参考BIND 9 dig文档。
  2. 在Windows查询。打开命令提示符,执行:nslookup -type=A example.com。查询IPv6可使用nslookup -type=AAAA example.com;邮件记录使用nslookup -type=MX example.com。Windows的nslookup支持通过-type选择记录类型,也可指定解析器:nslookup example.com 1.1.1.1。具体语法以Microsoft Learn的nslookup说明为准。
  3. 对比第二个递归解析器。macOS或Linux可执行:dig @1.1.1.1 example.com A和dig @8.8.8.8 example.com A;Windows可执行:nslookup example.com 1.1.1.1和nslookup example.com 8.8.8.8。这里的地址只是示例,实际应以你允许使用的解析器和网络环境为准。
  4. 找到权威名称服务器。先执行dig example.com NS,从结果中记录名称服务器主机名,再执行dig @ns1.example-dns.com example.com A。将示例名称替换为实际返回的权威服务器;如果名称服务器本身无法解析,先查询其A或AAAA记录。
  5. 记录完整结果。至少保存查询名称、类型、状态、ANSWER数量、TTL、返回值、查询服务器和时间。不要只复制IP地址,因为IP相同但TTL、权威标记或响应码不同,也可能代表不同问题。

Windows命令示例:

  • nslookup -type=A www.example.com:查IPv4地址。
  • nslookup -type=AAAA www.example.com:查IPv6地址。
  • nslookup -type=MX example.com:查邮件交换记录。
  • nslookup -type=TXT _verify.example.com:查指定验证主机名的TXT记录。
  • nslookup -type=NS example.com:查负责该区域的名称服务器。

查询结果中的字段名称和显示格式可能随操作系统、命令版本及解析器变化;命令可执行不代表返回结果一定来自权威服务器。

如何读懂结果:记录值、TTL、响应码和权威标记

结果或字段通常表示什么下一步怎么做
NOERROR且有Answer查询成功并返回了该类型记录检查记录值、TTL和是否符合预期
NOERROR但没有Answer域名或区域可能存在,但查询的记录类型没有数据,常称为NODATA换查正确的主机名或记录类型,并检查权威结果
NXDOMAIN查询的名称不存在检查拼写、子域名、NS委派和是否查错区域
SERVFAIL解析器无法完成查询,可能涉及权威服务器不可达、配置问题或DNSSEC验证失败换解析器并直接查询权威服务器;仍失败时检查DNS托管和DNSSEC状态
REFUSED服务器拒绝该查询确认查询服务器是否允许递归或公开回答该区域
TTL该记录还可以被缓存多久,单位通常为秒变更后不要只看一次缓存结果,应同时对比权威服务器和多个解析器
aa或Authoritative Answer响应标记表明回答来自权威服务器适合确认源记录,但仍要核对查询的区域和主机名

TTL不是“全球统一生效倒计时”。递归解析器会根据TTL缓存记录,客户端、路由器、应用程序也可能存在自己的缓存;负面结果也可能被缓存。RFC 2308规定了NXDOMAIN和无数据响应的负缓存处理,相关说明见RFC 2308。因此,修改记录后看到旧值,不能直接断定DNS托管商没有保存修改。

如果想判断是不是缓存,依次比较:本机默认解析器、另一个递归解析器、权威名称服务器。权威结果正确而递归结果旧,优先考虑缓存;权威结果也错误,优先检查DNS托管区域、记录名称、记录类型和NS委派。

按场景排查:网站、邮件、证书和域名迁移

网站或API打不开

  1. 查询实际访问的主机名,而不是只查根域名。
  2. 分别查询A和AAAA。如果AAAA指向不可用的IPv6地址,部分网络可能优先使用IPv6而访问失败。
  3. 如果返回CNAME,继续查询CNAME目标的A和AAAA,确认别名链最终有地址。
  4. 比较本机解析器、其他递归解析器和权威服务器结果。

邮件收不到或退信

  1. 查询收件域名的MX,不要查询网站使用的www主机名。
  2. 核对MX目标是否仍能解析到A或AAAA地址,优先级数字是否符合邮件服务商给出的配置。
  3. 按服务商要求查询根域名或指定选择器下的TXT记录;SPF、DKIM和DMARC的主机名可能不同,不能只查一条TXT。

SSL证书签发或续期失败

  1. 确认验证方要求的是A、CNAME还是TXT记录。
  2. 如果要求CAA,查询域名及必要的祖先域,确认授权的证书机构记录未被误删。
  3. 同时查询权威服务器,排除递归缓存造成的误判。

域名迁移后仍指向旧服务

  1. 先查根域名和关键子域名的NS记录。
  2. 再查权威服务器的SOA,记录序列号和返回值。
  3. 如果NS仍指向旧DNS托管商,修改A、CNAME或MX记录可能不会影响当前公网解析。
  4. 如果权威结果已更新但部分解析器仍旧,记录查询时间和TTL,等待缓存自然过期后再复查。

Google Cloud的DNS文档将NS定义为把区域委派给权威名称服务器的记录,并说明SOA包含区域权威信息;域名迁移时应先确认委派,再确认具体记录。可参考记录类型说明。

失败回退与验证闭环:查不到时按这个顺序处理

  1. 输入回退:去掉协议头、路径和参数,确认末尾没有多余空格;需要查询子域名时不要用根域名代替。
  2. 类型回退:先查A、AAAA、CNAME,再按场景查MX、NS、TXT、CAA或SOA;不要根据一次“无记录”结果推断整个域名不存在。
  3. 解析器回退:用第二个递归解析器重复查询,再直接查询权威名称服务器。
  4. 网络回退:如果出现超时或SERVFAIL,换一个网络环境复测,并分别记录UDP、TCP或DNS over HTTPS工具的结果;不要把查询失败直接等同于记录不存在。
  5. 配置回退:如果权威服务器结果不符合预期,回到DNS托管控制台检查记录名称、类型、值、TTL、区域和是否保存;不要在未确认责任区域前反复修改记录。
  6. 成功标准:目标查询名称正确;权威服务器返回预期记录;至少两个递归解析器逐步显示同一结果;网站、邮件或验证服务的实际业务测试也通过。

如果你需要保留证据,建议使用同一条命令在不同时间执行,并记录完整输出。不要只依赖在线DNS查询页面的截图,因为工具可能使用固定解析器、缓存或特定网络位置,无法代表所有用户的解析结果。

边界与延伸:DNS Lookup能证明什么,不能证明什么

  • DNS Lookup能证明某个查询路径在某个时间返回了什么记录,但不能单独证明网站端口开放、TLS证书正确、源站健康或业务接口可用。
  • 查询到A记录不代表所有网络都能连接该IP;线路、路由、丢包、MTU、防火墙和客户端代理仍需单独验证。
  • DNS结果可能因解析器位置、缓存、CDN调度、网络策略和时间变化。对跨网络办公或连接问题,应把DNS结果与延迟、丢包、TCP连接和应用日志一起判断。
  • 查询隐私取决于使用的工具和解析器:你输入的域名会发送给执行查询的解析服务;不要把内部域名、内网主机名或带敏感标识的查询内容提交给不明工具。
  • DNSSEC、DNSKEY和DS属于更高级的验证链路。看到DNSSEC相关错误时,优先保留响应码、权威服务器结果和变更记录,再由DNS托管商或域名注册商核对签名链。

本文没有对任何域名做实时测速或可用性保证;如果你正在排查跨网络访问,先完成DNS Lookup的三方对比,再继续检查客户端DNS、网络路径和应用连接。

常见问题

DNS Lookup和DNS传播检查有什么区别?

DNS Lookup通常是对一个域名、一个记录类型和一个解析器发起一次查询;DNS传播检查会比较多个解析器或地点的结果。前者适合定位记录和值,后者适合观察修改后不同网络是否仍缓存旧结果。

DNS修改后为什么还会显示旧记录?

常见原因包括递归解析器缓存、客户端或路由器缓存、负缓存、修改没有保存、修改了错误的DNS区域,或者域名NS仍指向旧托管商。先直接查询权威名称服务器,再与多个递归解析器对比。

看到NXDOMAIN是不是说明网站服务器坏了?

不一定。NXDOMAIN表示查询的名称不存在,可能是主机名拼写错误、子域名尚未创建、NS委派错误或负缓存结果。应先确认查询名称和记录类型,再查询权威服务器;网站服务器宕机通常不能仅凭NXDOMAIN判断。

为什么A记录正常,但网页仍然打不开?

A记录只说明DNS返回了IPv4地址,不代表目标端口、TLS、路由、防火墙或应用服务正常。继续检查AAAA、CNAME链、TCP连接、证书和应用日志,并比较不同网络下的延迟与丢包。

MX记录应该查根域名还是www?

通常应查询负责收件的邮件域名,例如<code>example.com</code>,而不是网站主机名<code>www.example.com</code>。具体主机名以邮件服务商提供的配置为准。

相关阅读

参考资料

  1. Microsoft Learn:nslookup命令
  2. BIND 9文档:dig命令
  3. Google Cloud:DNS概览与解析流程
  4. Google Cloud:DNS记录类型说明
  5. RFC 2308:DNS负缓存