如何用工具查看DNS设置?一文掌握所有实用技巧
目录导读
- 为什么需要查看DNS设置?
- Windows系统下的DNS查看工具与方法
- macOS与Linux系统的DNS查看方案
- 在线工具与第三方软件推荐
- 命令行工具深度解析(nslookup、dig、ping)
- 浏览器与路由器中的DNS查看技巧
- 常见问题问答(FAQ)
- 总结与最佳实践建议
为什么需要查看DNS设置?
DNS(域名系统)如同互联网的“电话簿”,将域名转换为IP地址,当您遇到网页打不开、网络延迟高或怀疑被劫持时,查看DNS设置是排错的第一步,了解当前DNS服务器地址、缓存记录以及解析路径,能帮助您判断问题根源。

核心场景:
- 网站无法访问,但IP正常(DNS解析失败)
- 需要确认是否使用了特定DNS(如谷歌8.8.8.8)
- 排查DNS污染或劫持问题
- 验证本地DNS缓存是否异常
Windows系统下的DNS查看工具与方法
1 图形界面操作
-
网络和共享中心:控制面板 → 网络和Internet → 网络和共享中心 → 点击当前连接 → 属性 → 双击“Internet协议版本4 (TCP/IPv4)”,即可看到DNS服务器地址。
- 若为“自动获取”,则说明是路由器分配的DNS。
- 若手动填写,则显示具体地址(如8.8.8.8)。
-
命令行工具:
- ipconfig /all:在命令提示符中输入,输出包含“DNS服务器”字段,可查看主备DNS。
- ipconfig /displaydns:显示当前DNS缓存记录,包括域名、TTL和IP。
- nslookup:输入
nslookup 网站域名,返回解析结果和当前DNS服务器地址。
示例:
C:\> nslookup example.com
服务器: dns.google
Address: 8.8.8.8
非权威应答:
名称: example.com
Address: 93.184.216.34
2 PowerShell进阶
Get-DnsClientServerAddress:获取网络适配器的DNS配置。Resolve-DnsName 域名:类似nslookup,但输出更结构化。
macOS与Linux系统的DNS查看方案
1 macOS
- 系统偏好设置:网络 → 高级 → DNS,显示当前使用的DNS地址。
- 终端工具:
scutil --dns:查看DNS配置详情,包括搜索域和服务器列表。nslookup与dig均预装,用法与Windows类似。dscacheutil -cachedump -entries Host:查看本地DNS缓存(需root权限)。
示例:
$ dig example.com
;; ANSWER SECTION:
example.com. 3600 IN A 93.184.216.34
2 Linux(以Ubuntu为例)
- 图形界面:设置 → 网络 → 当前连接 → IPv4 → DNS。
- 命令行:
cat /etc/resolv.conf:查看传统DNS配置文件。networkctl status(systemd系统)或nmcli dev show(NetworkManager)。dig与nslookup需安装dnsutils包。systemd-resolve --status:systemd-resolved服务下查看DNS。
- 高级技巧:
tcpdump -i 网卡 port 53抓取DNS查询包。
在线工具与第三方软件推荐
1 在线DNS查询工具
- DNS Checker(dnschecker.org):全球多节点同时解析,检测域名解析一致性。
- WhatIsMyDNS.com:显示当前设备使用的DNS服务器及解析结果。
- DNSPerf(dnsperf.com):实时DNS性能对比(如谷歌 vs Cloudflare)。
2 第三方桌面软件
- DNS Jumper(Windows):一键切换DNS并测试延迟。
- namebench(跨平台):Google开源的DNS性能基准测试工具。
- Simple DNSCrypt(Windows/macOS):加密DNS工具,同时显示当前DNS设置。
注意:使用在线工具时,浏览器可能会泄露您的真实IP,建议配合VPN。
命令行工具深度解析
1 nslookup——最通用的排错工具
- 交互模式:输入
nslookup,然后输入server 8.8.8.8切换指定DNS,再输入域名查询。 - 高级选项:
set type=any:显示所有记录类型(A、AAAA、MX等)。set debug:显示详细解析过程,包括递归查询步骤。
2 dig——Linux/Unix王者
dig +short example.com:仅显示IP。dig @8.8.8.8 example.com:指定服务器解析。dig example.com ANY +noall +answer:输出所有记录。dig +trace example.com:追踪完整递归路径。
3 ping与tracert/traceroute
ping 域名:若成功返回IP但失败,说明DNS正常但网络连通性问题。tracert 域名(Windows)/traceroute 域名(Linux/macOS):查看路由路径,排查中间节点干扰。
浏览器与路由器中的DNS查看技巧
1 浏览器内置功能
- Chrome:地址栏输入
chrome://net-internals/#dns,可查看缓存和清除记录。 - Firefox:地址栏输入
about:networking#dns,显示主机名解析历史。 - Edge:
edge://net-internals/#dns,功能与Chrome类似。 - 开启开发者工具:Network标签中查看请求的DNS耗时。
2 路由器管理界面
- 登录路由器管理后台(通常为192.168.1.1或192.168.0.1),找到“网络设置”或“WAN口设置”。
- 常见位置:DHCP服务器 → DNS服务器,可查看ISP分配的DNS。
- 高级技巧:若路由器支持命令行(如OpenWrt),使用
cat /etc/config/dhcp查看配置。
常见问题问答
Q1:为什么我看到的DNS地址是192.168.x.x?
A:这是路由器本身的IP地址,说明你的设备自动从路由器获取DNS,路由器再转发到上级DNS,可通过nslookup确认路由器实际使用的上级DNS。
Q2:如何确认DNS是否被劫持?
A:在nslookup结果中,若域名解析出的IP明显不对(如弹出广告页面),或解析时间异常短(可能被本地缓存篡改),建议使用dig @8.8.8.8 域名对比官方结果,也可访问www.whatsmydns.net进行全球检测。
Q3:修改DNS后不生效怎么办?
A:依次检查:1)是否保存并重启网络连接;2)Windows需运行ipconfig /flushdns清空缓存;3)浏览器开启严格DNS泄漏保护;4)路由器本身可能覆盖设置(如强制使用自身DNS)。
Q4:Mac/Linux系统如何永久修改DNS?
A:macOS使用networksetup -setdnsservers Wi-Fi 8.8.8.8;Linux编辑/etc/resolv.conf后需保护文件不被覆盖(如使用chattr +i),或通过NetworkManager图形界面。
Q5:查看DNS设置需要管理员权限吗?
A:查看本机配置不需要,但清空缓存(如ipconfig /flushdns)、修改设置或抓包需要管理员/root权限。
总结与最佳实践建议
- 图形界面:适合普通用户,但信息有限。
- 命令行:nslookup+dig几乎覆盖所有需求。
- 在线工具:快速验证全球解析一致性。
- 动态监测:使用
ping -t 域名或dig +short持续监控解析变化。
操作三步法
- 第一步:
nslookup 问题域名查看当前DNS服务器与解析结果。 - 第二步:
dig @8.8.8.8 问题域名对比权威DNS结果,判断是否一致。 - 第三步:若不一致,检查本地DNS配置与缓存(
ipconfig /displaydns),考虑重置或更换公共DNS。
安全提醒
- 定期检查DNS设置,防止恶意软件劫持。
- 优先选择加密DNS(如DoH/DoT),避免中间人攻击。
- 使用DNS监控工具(如
dnstop)实时分析解析流量。
通过掌握这些工具,您将不再被DNS问题困扰,从今天开始,尝试用dig +trace进行一次完整的域名解析之旅吧!