系统学习 Windows 学习路径:从 CMD 到 PowerShell、系统网络,再到 WSL 与 Server

nslookup

直接向 DNS 服务器查询记录,区分解析失败与网络不通。

补充说明

nslookup 有两种模式:带参数时做单次查询,不带参数时进入交互式提示符,可反复执行 set type=、server 和查询命令。它默认使用网卡配置的 DNS 服务器,也可以把服务器写在最后一位,直接向指定 DNS 查询 A、AAAA、MX、TXT、SRV、PTR 等记录。

边界:nslookup 直接发 DNS 查询,不读本机 DNS Client 缓存和 hosts 文件,也不一定遵循应用的 NRPT、分域解析或 DoH 策略;因此它和 ping、浏览器结果不同是正常的。查本机缓存用 ipconfig /displaydns,查能带策略的解析结果用 Resolve-DnsName。它只验证 DNS,不验证目标端口或网站内容。

Windows 10/11 都自带 nslookup,但微软更推荐在脚本里用 PowerShell 的 Resolve-DnsName 获取结构化结果。nslookup 不支持 DoH/DoT,默认走 UDP 53,响应被截断时自动转 TCP;VPN、防火墙和 DNS 转发器都可能改变结果。

常用示例

# 1. 用系统配置的 DNS 查 A/AAAA,先看名称能否解析
C:\> nslookup example.com

# 2. 指定公共 DNS,排除本地 DNS 服务器或转发器的问题
C:\> nslookup example.com 8.8.8.8

# 3. 查邮件路由,确认 MX 优先级和目标主机
C:\> nslookup -type=MX example.com

# 4. 只查 IPv6 地址,验证双栈解析是否完整
C:\> nslookup -type=AAAA example.com

# 5. 反查 IP 的 PTR 记录,排查日志里的地址归属
C:\> nslookup -type=PTR 8.8.8.8

# 6. 查域控服务记录,确认 SRV 指向哪台主机和端口
C:\> nslookup -type=SRV _ldap._tcp.dc._msdcs.contoso.com

# 7. 末尾加点表示绝对域名,避免被 DNS 后缀搜索列表改写
C:\> nslookup example.com.

易错点与排错

相关命令

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. 为什么 nslookup 能解析,ping 却解析到另一个地址?
  2. Non-authoritative answer 是错误吗?它说明答案来自哪里?
  3. NXDOMAIN、SERVFAIL 和查询超时分别说明什么?
答案
  1. nslookup 直接查 DNS,不读 hosts 和本机缓存;ping 走系统解析器,可能受缓存、hosts、NRPT 或代理影响。
  2. 不是错误;表示答案来自递归 DNS 服务器的缓存,而不是权威服务器。
  3. NXDOMAIN 表示域名不存在,SERVFAIL 表示 DNS 服务器处理失败,超时表示查询没收到响应,通常是网络或防火墙问题。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令