Windows 命令行测试 DNS 服务器的主要方法
Windows 系统下测试 DNS 服务器最常用的工具是 nslookup (名称服务器查找工具),它可以查询域名解析、指定特定 DNS 服务器进行测试、检查各种 DNS 记录类型等。另一个辅助工具是 Resolve-DnsName (PowerShell 中推荐的现代替代品)。
1. 使用 nslookup 测试 DNS 服务器
打开 命令提示符 (按 Win + R,输入 cmd 回车)。
基本用法:
-
直接测试默认 DNS 服务器解析某个域名:
nslookup www.example.com(替换 www.example.com 为你要测试的域名,如 www.baidu.com )
指定特定 DNS 服务器进行测试 (最常用场景,比如测试 Google DNS 8.8.8.8 是否正常):
-
非交互模式(一次性查询):
nslookup www.example.com 8.8.8.8如果返回 IP 地址和解析信息,说明该 DNS 服务器正常响应。
-
交互模式(推荐,用于多次测试):
-
输入 nslookup 回车,进入交互模式(会显示当前默认 DNS 服务器)。
-
切换到指定 DNS 服务器:
server 8.8.8.8(或任何 DNS IP,如 114.114.114.114、1.1.1.1)
-
查询域名:
www.example.com -
退出交互模式:输入 exit 回车。
-
常见输出解释:
-
如果成功:显示 “Non-authoritative answer” 和 IP 地址列表。
-
如果超时或失败:显示 “DNS request timed out” 或 “服务器失败”,表示该 DNS 服务器不可达或有问题。
-
检查特定记录类型(如 MX 邮件服务器): 在交互模式下:
set type=MX example.com(其他类型:A、NS、TXT、CNAME 等)
其他实用选项:
- 查看帮助:在交互模式下输入 ? 或 help 。
- 启用调试模式(详细输出): nslookup -debug www.example.com 8.8.8.8
2. 使用 PowerShell 的 Resolve-DnsName(Windows 10/11 推荐,更现代)
打开 PowerShell (按 Win + X,选择 Windows PowerShell)。
-
测试指定 DNS 服务器:
Resolve-DnsName www.example.com -Server 8.8.8.8 -
指定记录类型:
Resolve-DnsName www.example.com -Server 8.8.8.8 -Type MX
3. 辅助命令
-
查看本机当前 DNS 配置:
ipconfig /all(查找 “DNS Servers” 行)
-
清除本地 DNS 缓存(如果解析旧结果):
ipconfig /flushdns -
测试 DNS 服务器连通性(Ping 只能测网络,不测 DNS 功能):
ping 8.8.8.8
常见公共 DNS 服务器用于测试
- Google:8.8.8.8 或 8.8.4.4
- Cloudflare:1.1.1.1
- 国内:114.114.114.114(114 DNS) 或 223.5.5.5(阿里 DNS)
如果测试多个 DNS 时某个失败,可能是网络问题、防火墙阻挡 53 端口,或该 DNS 服务器本身故障。建议多试几个域名(如 www.google.com、www.baidu.com )确认。
Comments