首页/网络/网络排障速查/nslookup 基础用法(跨平台可用)
DNS 与解析排查46 条

nslookup 基础用法(跨平台可用)

Windows 与部分精简 Linux 环境自带 nslookup:虽然输出不如 dig 清晰,但作为跨平台最低配工具必须会用。

网络排障速查网络更新于 2026-10-13

nslookup 的定位

nslookup 是 Windows 与部分精简 Linux 环境自带的 DNS 查询工具,输出不如 dig 清晰、参数也不如 dig 灵活,但胜在跨平台一定存在。现场排障时经常遇到对方机器只有 nslookup 可用的情况,把它的输出结构读对,比争论「为什么不用 dig」更有价值。

输出结构怎么读

nslookup 的输出分两段:前一段 Server 与 Address 是它本次实际询问的 DNS 服务器及其地址,后一段才是查询结果。很多误判源于把 Address 里的地址当成解析结果。若这里出现 127.0.0.53 这类回环地址,说明系统用了 systemd-resolved 的本地存根,真实上游要另外查。

常用形式

常用形式
nslookup example.com                 # 使用系统默认 DNS
nslookup example.com 8.8.8.8         # 指定服务器,注意服务器参数在后
nslookup -type=mx example.com 8.8.8.8     # 查询邮件记录
nslookup -type=txt example.com       # 查询文本记录
nslookup -type=any example.com       # 通用查询,受 RFC 8482 限制结果有限
nslookup 8.8.8.8                     # 反查,自动走 PTR 记录

交互模式常用命令

命令作用备注
server 223.5.5.5切换当前使用的 DNS 服务器切换后后续查询都发往它
set type=mx设置查询的记录类型等价于命令行 -type 参数
set debug开启调试输出能看到完整请求与应答细节
set timeout=2设置单次查询超时秒数排查慢解析时很有用
exit退出交互模式脚本里不要进入交互模式

典型使用场景

  • Windows 机器上快速确认域名解析结果,判断是否为 DNS 问题
  • 精简容器或受限环境里没有 dig,用 nslookup 做最低限度的解析验证
  • 对比不同 DNS 服务器的返回结果,定位解析不一致的来源
  • 反查 IP 对应的域名,辅助判断对面是什么服务
  • 验证邮件相关记录,排查外发邮件被拒的域名配置问题
nslookup 会使用系统的搜索域补全:查绝对域名时在结尾加一个点号(如 example.com.)可以避免被自动拼接后缀,减少歧义。
Windows 中文版的提示文字与英文版不同,用脚本解析 nslookup 输出时不要依赖固定字符串,优先改用 PowerShell 的 Resolve-DnsName 取结构化结果。

易错点

  • 把输出第一段的 Address 当成解析结果,实际那是本次使用的 DNS 服务器地址
  • 在脚本里解析中文系统下的本地化提示文字,换语言或换版本立刻失效
  • 查绝对域名不加结尾点号,被搜索域拼接成错误域名后得出「解析失败」的假结论
  • 看到 127.0.0.53 就以为 DNS 配置错误,实际是 systemd-resolved 的正常本地存根

数据来源与参考

  • Microsoft Learn:nslookup 命令
  • BIND 9:nslookup 工具说明

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌