在命令行中查看域名解析是网络管理和故障排查中的基本技能,通过命令行工具可以直接获取域名与IP地址的映射关系、DNS查询路径等信息,以下是常用的命令行工具及其使用方法,涵盖不同操作系统和需求场景。

常用命令行工具及使用方法
nslookup(Name Lookup)
nslookup
是最常用的DNS查询工具,支持交互式和非交互式模式,适用于Windows、Linux和macOS。
基本用法:
-
非交互式查询:直接查询域名解析结果
nslookup example.com
输出示例:
(图片来源网络,侵删)Server: 192.168.1.1 Address: 192.168.1.1#53 Non-authoritative answer: Name: example.com Address: 93.184.216.34
-
交互式模式:启动后可连续查询多个域名
nslookup > example.com > exit
-
指定DNS服务器:通过符号指定查询的DNS服务器
nslookup example.com 8.8.8.8
-
查询记录类型:如A记录、MX记录、NS记录等
nslookup -type=mx example.com
dig(Domain Information Groper)
dig
是Linux和macOS下功能强大的DNS查询工具,提供更详细的解析信息,包括响应时间、TTL值、权威服务器等。

基本用法:
-
简单查询:
dig example.com
输出包含多个部分:
HEADER
(响应头)、QUESTION
(查询问题)、ANSWER SECTION
(解析结果)、AUTHORITY SECTION
(权威服务器)、ADDITIONAL SECTION
(附加信息)。 -
指定DNS服务器:
dig @8.8.8.8 example.com
-
查询特定记录类型:
dig example.com MX dig example.com A
-
反向查询(IP转域名):
dig -x 93.184.216.34
-
简化输出:仅显示
ANSWER SECTION
dig +short example.com
host
host
是一个轻量级DNS查询工具,输出简洁,适合快速检查域名解析状态。
基本用法:
-
基本查询:
host example.com
-
指定DNS服务器:
host example.com 8.8.8.8
-
反向查询:
host 93.184.216.34
Windows下的nslookup
和ping
nslookup
:用法与Linux/macOS一致,但默认使用系统配置的DNS服务器。ping
:通过域名测试网络连通性,同时显示解析的IP地址:ping example.com
高级查询技巧
跟踪DNS查询路径(dig的+trace
选项)
使用dig +trace
可以显示DNS查询的完整路径,从根服务器到目标域名的权威服务器:
dig +trace example.com
查看DNS缓存(Linux/macOS)
- 查看缓存:
sudo systemd-resolve --statistics # Linux (systemd) sudo dscacheutil -q statistics # macOS
- 刷新缓存:
sudo systemd-resolve --flush-caches # Linux sudo killall -HUP mDNSResponder # macOS
查询域名的TTL值
TTL(Time To Live)记录DNS记录在本地缓存的有效时间:
dig example.com +ttlid
常见DNS记录类型
记录类型 | 说明 | 示例 |
---|---|---|
A记录 | 将域名指向IPv4地址 | example.com → 93.184.216.34 |
AAAA记录 | 将域名指向IPv6地址 | example.com → 2606:2800:220:1:248:1893:25c8:1946 |
CNAME记录 | 域名别名(指向另一个域名) | www.example.com → example.com |
MX记录 | 邮件服务器交换记录 | example.com → mail.example.com |
NS记录 | 权威域名服务器 | example.com → ns1.example.com |
TXT记录 | 存储文本信息(如SPF、DKIM) | example.com → "v=spf1 include:_spf.google.com ~all" |
故障排查建议
- 检查本地DNS配置:确保
/etc/resolv.conf
(Linux)或网络设置中的DNS服务器正确。 - 对比不同DNS服务器的解析结果:如公共DNS(8.8.8.8、1.1.1.1)与本地DNS的差异。
- 使用
dig
的+trace
:定位DNS查询在哪一步失败。 - 检查域名过期状态:通过WHOIS工具查询域名是否过期或被锁定。
相关问答FAQs
Q1: 为什么使用dig
查询时显示“Non-existent domain”错误?
A1: 此错误通常表示域名不存在或DNS服务器无法解析该域名,可尝试以下步骤:
- 检查域名拼写是否正确。
- 更换DNS服务器(如
dig @8.8.8.8 example.com
)。 - 使用WHOIS工具确认域名是否已注册且未过期。
- 检查本地网络或防火墙是否阻止DNS查询。
Q2: 如何通过命令行检查域名的MX记录是否配置正确?
A2: 使用dig
或nslookup
查询MX记录,并验证返回的邮件服务器是否为预期值:
dig example.com MX
正常输出应包含mail.example.com
等邮件服务器记录,若未返回结果或记录错误,需联系域名注册商或DNS管理员修改MX记录配置。