命令行域名解析是网络管理中一项基础而重要的技能,它允许用户通过文本界面直接查询域名与IP地址之间的映射关系,排查网络故障或验证配置,在Windows、Linux和macOS等操作系统中,命令行工具提供了高效且灵活的域名解析功能,其中最常用的工具包括nslookup
、dig
和host
,这些工具通过查询DNS(域名系统)服务器,获取域名的A记录、AAAA记录、MX记录、CNAME记录等多种信息,帮助用户理解域名背后的网络结构。

常用命令行域名解析工具
-
nslookup
(Name Server Lookup)
nslookup
是最广泛使用的域名解析工具,支持交互式和非交互式模式,在交互模式下,用户可以连续查询多个域名;非交互模式下,则直接返回指定域名的解析结果,输入nslookup example.com
,系统会默认使用配置的DNS服务器查询该域名的A记录和对应的IP地址,若需指定DNS服务器,可使用nslookup example.com 8.8.8.8
(Google DNS)的格式。nslookup
还支持查询其他记录类型,如set type=mx
可查询邮件交换记录,set type=ns
可查询域名服务器记录。 -
dig
(Domain Information Groper)
dig
是Linux和macOS系统中功能更强大的工具,以更详细和结构化的方式返回解析结果,与nslookup
相比,dig
默认显示更完整的DNS查询过程,包括递归查询路径、权威名称服务器响应和附加记录等。dig example.com
会返回查询的SECTION、QUESTION SECTION、ANSWER SECTION等详细信息。dig
还支持短参数,如+short
可仅返回IP地址,+trace
可追踪从根域名到目标域名的完整解析路径。dig
可以指定查询类型和类,如dig example.com AAAA
(查询IPv6地址)或dig example.com MX
(查询邮件记录)。 -
host
host
是一个轻量级的域名解析工具,输出简洁,适合快速查询。host example.com
会返回域名对应的IP地址及权威DNS服务器信息。host
也支持指定DNS服务器和查询类型,如host -t mx example.com
或host 8.8.8.8 example.com
,相较于dig
,host
的输出更易读,适合需要快速获取基本解析结果的场景。
域名解析的常见记录类型
域名解析过程中,DNS服务器会根据查询类型返回不同的记录,以下是主要记录类型及其用途:

记录类型 | 描述 | 示例 |
---|---|---|
A记录 | 将域名指向IPv4地址 | example.com. 3600 IN A 93.184.216.34 |
AAAA记录 | 将域名指向IPv6地址 | example.com. 3600 IN AAAA 2606:2800:220:1:248:1893:25c8:1946 |
CNAME记录 | 将域名指向另一个域名(别名) | www.example.com. 3600 IN CNAME example.com. |
MX记录 | 指定负责处理该域名邮件交换的服务器 | example.com. 3600 IN MX 10 mail.example.com. |
NS记录 | 指定 authoritative name servers(权威名称服务器) | example.com. 3600 IN NS ns1.example.com. |
TXT记录 | 存储文本信息,常用于验证域名所有权 | example.com. 3600 IN TXT "v=spf1 include:_spf.google.com ~all" |
命令行域名解析的实际应用场景
-
网络故障排查
当无法访问某个网站时,可通过nslookup
或dig
检查域名是否正确解析到IP地址,若返回Non-existent domain
或超时,可能是DNS配置错误或域名服务器故障,若nslookup example.com
无响应,可尝试更换DNS服务器(如8.8.8
或1.1.1
)排除本地DNS问题。 -
验证DNS配置
在部署网站或邮件服务后,需确认MX记录、A记录等是否正确配置。dig example.com MX
可检查邮件服务器是否指向正确的记录,避免邮件发送失败。 -
安全审计
通过查询TXT记录或SPF记录,可验证域名的安全策略。dig example.com TXT
可查看SPF记录,确认哪些IP被授权发送邮件。
不同操作系统的命令行工具差异
- Windows系统:默认使用
nslookup
,可通过nslookup
进入交互模式,Windows 10及更高版本支持dig
和host
,但需额外安装(如通过Windows Subsystem for Linux或第三方工具)。 - Linux/macOS系统:
nslookup
、dig
和host
通常预装,macOS的dig
输出与Linux一致,而host
在macOS中功能略有简化。
相关问答FAQs
Q1: 如何通过命令行检查域名的TXT记录?
A1: 可使用dig
或nslookup
工具,在Linux或macOS中,输入dig example.com TXT
即可返回该域名的TXT记录内容;在Windows中,可通过nslookup
进入交互模式后输入set type=txt
,再查询example.com
,TXT记录常用于域名验证、SPF策略或DKIM配置。

Q2: 为什么nslookup
查询域名时显示“服务器失败”?
A2: “服务器失败”通常表示本地DNS服务器无法响应或配置错误,可尝试以下步骤排查:1)检查网络连接是否正常;2)更换DNS服务器(如使用nslookup example.com 8.8.8.8
);3)确认本地DNS服务是否运行(在Windows中可通过ipconfig /flushdns
刷新缓存,在Linux中通过systemctl restart systemd-resolved
重启DNS服务),若问题持续,可能是本地DNS服务器故障或防火墙阻止了查询。