nslookup 是用于查询 DNS(域名系统)信息的命令行工具,可查看域名对应的 IP 地址、邮件服务器、名称服务器等记录。它支持指定 DNS 服务器、查询不同记录类型,并可用于排查域名解析问题。Linux、macOS 和 Windows 都提供该工具,是网络运维与故障诊断中最常用的 DNS 调试命令之一。
PS C:\Users\nosch> nslookup /?
用法:
nslookup [-opt ...] # 使用默认服务器的交互模式
nslookup [-opt ...] - server # 使用 "server" 的交互模式
nslookup [-opt ...] host # 仅查找使用默认服务器的 "host"
nslookup [-opt ...] host server # 仅查找使用 "server" 的 "host"1
PS C:\Users\nosch> nslookup
默认服务器: UnKnown
Address: 192.168.1.1
> help
命令: (标识符以大写表示,[] 表示可选)
NAME - 打印有关使用默认服务器的主机/域 NAME 的信息
NAME1 NAME2 - 同上,但将 NAME2 用作服务器
help or ? - 打印有关常用命令的信息
set OPTION - 设置选项
all - 打印选项、当前服务器和主机
[no]debug - 打印调试信息
[no]d2 - 打印详细的调试信息
[no]defname - 将域名附加到每个查询
[no]recurse - 询问查询的递归应答
[no]search - 使用域搜索列表
[no]vc - 始终使用虚拟电路
domain=NAME - 将默认域名设置为 NAME
srchlist=N1[/N2/.../N6] - 将域设置为 N1,并将搜索列表设置为 N1、N2 等
root=NAME - 将根服务器设置为 NAME
retry=X - 将重试次数设置为 X
timeout=X - 将初始超时间隔设置为 X 秒
type=X - 设置查询类型(如 A、AAAA、A+AAAA、ANY、CNAME、MX、
NS、PTR、SOA 和 SRV)
querytype=X - 与类型相同
class=X - 设置查询类(如 IN (Internet)和 ANY)
[no]msxfr - 使用 MS 快速区域传送
ixfrver=X - 用于 IXFR 传送请求的当前版本
server NAME - 将默认服务器设置为 NAME,使用当前默认服务器
lserver NAME - 将默认服务器设置为 NAME,使用初始服务器
root - 将当前默认服务器设置为根服务器
ls [opt] DOMAIN [> FILE] - 列出 DOMAIN 中的地址(可选: 输出到文件 FILE)
-a - 列出规范名称和别名
-d - 列出所有记录
-t TYPE - 列出给定 RFC 记录类型(例如 A、CNAME、MX、NS 和 PTR 等)
的记录
view FILE - 对 'ls' 输出文件排序,并使用 pg 查看
exit - 退出程序
常用命令清单
| 命令 | 作用 |
|---|---|
| nslookup qq.com | 查询域名的 A 记录(IPv4 地址) |
| nslookup -type=AAAA qq.com | 查询 AAAA 记录(IPv6 地址) |
| nslookup -type=MX qq.com | 查询邮件服务器记录 |
| nslookup -type=NS qq.com | 查询权威名称服务器记录 |
| nslookup -type=TXT qq.com | 查询 TXT 记录(如 SPF、DKIM) |
| nslookup 8.8.8.8 | 反向查询 IP 对应的域名 |
| nslookup qq.com 1.1.1.1 | 使用指定 DNS 服务器进行查询 |
| nslookup | 进入交互模式,可连续执行多次查询 |
| set type=MX | 在交互模式中设置查询类型为 MX |
| server 8.8.8.8 | 在交互模式中切换 DNS 服务器 |
| exit | 退出交互模式 |