查看DNS记录的命令是
nslookup
或查看DNS记录的命令详解
在网络管理和故障排查中,查看DNS记录是一项基础但重要的操作,本文将详细介绍不同操作系统和工具下查看DNS记录的命令、参数及实际应用,帮助用户快速掌握DNS查询技巧。
Windows系统下的DNS查询命令
nslookup
基本用法
- 命令格式:
nslookup [域名] [DNS服务器]
- 示例:
nslookup example.com
- 输出说明:
- 默认显示
example.com
的A记录(IPv4地址) - 可交互式输入其他域名或服务器
- 默认显示
高级参数
参数 | 作用 |
---|---|
query=TYPE |
指定查询记录类型(如MX、CNAME、TXT) |
server IP |
指定DNS服务器地址 |
timeout SECONDS |
设置超时时间(单位:秒) |
示例:查询MX记录
nslookup query=mx example.com 8.8.8.8
PowerShell
使用ResolveDnsName
- 命令格式:
ResolveDnsName example.com
- 优势:支持多种记录类型批量查询
- 输出示例:
Name Type TTL Section Value example.com A 300 Answer 93.184.216.34 example.com A 300 Answer 93.184.216.35
Linux系统下的DNS查询命令
dig(Domain Information Groper)
基本用法
- 命令格式:
dig [选项] 域名 [记录类型]
- 示例:
dig example.com
- 输出结构:
- QUESTION:查询请求
- ANSWER:返回的记录
- AUTHORITY/ADDITIONAL:权威服务器信息和附加记录
常用参数
参数 | 作用 |
---|---|
+short |
仅输出简要结果(IP地址) |
+nocmd |
隐藏查询命令信息 |
@8.8.8.8 |
指定Google公共DNS服务器 |
t TYPE |
指定记录类型(如A、MX、TXT) |
示例:查询NS记录并指定服务器
dig +short example.com NS @1.1.1.1
nslookup
- 命令格式:
nslookup example.com 8.8.8.8
- 区别:Linux版功能较简单,推荐使用
dig
macOS系统下的DNS查询工具
dig命令
- 与Linux版本兼容,支持所有标准参数
- 示例:
dig +nocmd example.com mx
终端默认工具
- 命令:
host t MX example.com
- 输出示例:
example.com mail is handled by 10 mail1.example.com. example.com mail is handled by 10 mail2.example.com.
跨平台在线工具
DNSChecker.org
- 功能:批量查询全球多个DNS服务器的记录
- 适用场景:检测DNS传播状态、识别区域性解析差异
WhatsMyDNS.net
- 特色:可视化展示不同国家/地区的解析结果
- 示例查询:
https://www.whatsmydns.net/#A/example.com
DNS记录类型详解
记录类型 | 符号 | 作用 |
---|---|---|
A记录 | 域名到IPv4地址映射 | |
AAAA记录 | 域名到IPv6地址映射 | |
CNAME | 别名记录(指向另一个域名) | |
MX记录 | 邮件服务器优先级 | |
TXT记录 | 存储文本信息(如SPF记录) | |
NS记录 | 指定域名服务器 |
实战案例分析
案例1:排查邮件发送失败
- 症状:无法发送至
example.com
邮箱 - 排查步骤:
- 查询MX记录:
nslookup type=mx example.com
- 验证邮件服务器IP连通性:
ping mail.example.com
- 检查SPF记录:
dig t txt example.com
- 查询MX记录:
案例2:网站访问异常
- 症状:访问
example.com
被重定向到错误地址 - 排查步骤:
- 查询A记录:
dig example.com +short
- 检查CNAME记录:
nslookup www.example.com
- 比对不同DNS服务器的结果差异
- 查询A记录:
常见问题与解决方案
问题 | 原因 | 解决方案 |
---|---|---|
查询结果与预期不符 | DNS缓存未更新 | 清除本地DNS缓存(Windows: ipconfig /flushdns ) |
无法解析新配置的DNS | TTL未过期 | 等待TTL时间或降低TTL值 |
部分用户访问异常 | 区域性DNS解析差异 | 使用全球分布的DNS服务器(如Cloudflare) |
相关问题与解答
Q1:如何强制刷新本地DNS缓存?
A:不同系统操作如下:
- Windows:
ipconfig /flushdns
- macOS:
sudo killall HUP mDNSResponder
- Linux:重启
systemdresolved
服务或清空/etc/resolv.conf
缓存
Q2:如何检测DNS污染(DNS劫持)?
A:方法如下:
- 使用多个国际DNS服务器查询(如Google 8.8.8.8、Cloudflare 1.1.1.1)
- 对比不同服务器返回的IP地址是否一致
- 若国内服务器返回异常IP,可能是DNS污染导致