首页/系统/Windows 运维速查/nslookup DNS 查询
CMD 常用命令74 条

nslookup DNS 查询

查询域名解析结果与所用 DNS 服务器:支持指定服务器与记录类型(A/MX/TXT 等),排查 DNS 问题的第一工具。

Windows 运维速查系统更新于 2026-10-13

nslookup 是什么

nslookup 用来查询域名解析结果,并且能指定使用哪台 DNS 服务器,这是它最大的价值:把同一域名分别问默认服务器与公共服务器,对比结果就能判断是解析记录有问题还是本地缓存有问题。它支持查询多种记录类型,输出里会标注应答是否来自权威服务器。需要注意两点:它直接向 DNS 服务器发起查询,不读取本机的静态解析文件;交互模式与单行模式语法不同,脚本里应统一使用单行写法。

基本信息

适用平台Windows CMD / PowerShell(系统自带)
语法nslookup 名称 [服务器];nslookup -type=类型 名称 [服务器]
支持的记录类型地址、邮件交换、文本、别名、名称服务器等常见类型
交互模式直接运行进入交互界面,用 set 命令切换查询类型
输出要点先显示本次使用的服务器与地址,再给出应答内容
局限不读取本机 hosts 配置,也不使用浏览器或系统的缓存

典型使用场景

  • 确认域名解析到哪个地址,验证变更是否生效
  • 对比不同 DNS 服务器的应答,区分记录问题与缓存问题
  • 查询邮件相关记录,核对邮件域配置
  • 查询文本记录,验证域名所有权等配置是否已生效
  • 排查内网域名:指定内网 DNS 查询,确认内部区域是否正确
  • 复核解析记录:确认反向解析是否与正向一致

常用示例

常用示例
:: 用默认 DNS 查询
nslookup www.example.com
:: 指定公共 DNS 查询,用于对比
nslookup www.example.com 8.8.8.8
:: 查询邮件交换记录
nslookup -type=mx example.com
:: 查询文本记录
nslookup -type=txt example.com
:: 交互模式(切换类型后连续查询)
nslookup
> set type=txt
> example.com
:: 指定内网 DNS 查询内部域名
nslookup intranet.corp.local 10.0.0.10

输出与模式对照

项含义注意点
服务器与地址行本次查询所用的 DNS 服务器与预期不符说明本机 DNS 配置有问题
非权威应答结果来自缓存而非权威服务器存在缓存过期的可能
权威应答来自该域名的权威服务器结果最可信
无法找到记录不存在或服务器超时需区分两类原因,判断方向不同
交互模式进入后逐条输入查询脚本中不要使用
单行模式一条命令完成查询适合写进脚本与批处理
查询结果与本机实际访问结果不一致时,检查顺序是:静态解析文件、本机缓存、所用 DNS 服务器。逐层排除比反复查询更快。
指定服务器查询时用的是 UDP 53 端口,若网络策略限制出站该端口,查询会超时,这与域名本身是否有记录是两回事。

易错点

  • 用 nslookup 验证静态解析文件:它直接问 DNS 服务器,不读本机 hosts 配置,结论不适用于该场景
  • 把非权威应答当成最终结果:可能来自缓存且已过期,需要指定权威服务器复核
  • 在脚本中使用交互模式:脚本里应统一使用单行加参数写法,交互模式会挂住
  • 把超时归因为记录不存在:网络策略限制出站查询端口也会造成超时,需要进一步确认
  • 只查正向记录:排障时反向解析同样重要,两边不一致往往指向记录配置问题

数据来源与参考

  • Microsoft Learn:nslookup 命令

相关工具

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