ipconfig /all(Windows)、cat /etc/resolv.conf(Linux)或scutil --dns(macOS)可直接查看当前生效DNS服务器IP;Windows中需在WLAN或以太网区块查“DNS服务器”字段,若IP为169.254.x.x则需先执行ipconfig /renew。

直接查 ipconfig /all(Windows)、cat /etc/resolv.conf(Linux)或 scutil --dns(macOS),就能看到当前生效的 DNS 服务器 IP 地址——不需要装工具、不依赖网络、不查路由器页面,命令行输出就是最准的实时配置。
Windows 用 ipconfig /all 查主备 DNS
这是唯一能同时拿到 IPv4 地址、默认网关、DHCP 状态和主/备 DNS 的命令。执行后重点看“无线局域网适配器 WLAN”或“以太网适配器 以太网”区块里的“DNS 服务器”字段,它列出的两个 IP(如 192.168.3.1 和 8.8.8.8)就是当前实际在用的主、备服务器。
- 如果看到 IP 是
169.254.x.x,说明 DHCP 失败,DNS 字段不可信,得先跑ipconfig /renew - 图形界面里点“详细信息”也能看到,但部分系统版本会隐藏备用 DNS,不如命令行全
- 别只看“网络设置”里手动填的 DNS——那只是配置项,
ipconfig /all显示的是真正生效的值
macOS 用 scutil --dns 或 networksetup
scutil --dns 输出里带 nameserver 的行就是当前 DNS,比 GUI 更可靠;GUI 路径是“系统设置 > 网络 > Wi-Fi > 详细信息 > DNS”,但 Ventura 后某些配置下 DNS 标签页可能为空。
- 如果用的是公司 MDM 或自定义网络配置,
networksetup -getdnsservers Wi-Fi可绕过 GUI 缓存直接读取 -
scutil --dns还会显示搜索域、解析顺序,对排查域名拼错或内部域名解析失败有帮助 - 别依赖 Safari 或 Chrome 的“开发者工具 > Network”标签——它只显示已发出请求的 DNS 结果,不是本机配置
Linux 查 /etc/resolv.conf 要注意软链接和覆盖逻辑
多数发行版里 /etc/resolv.conf 是个软链接,真实内容可能来自 systemd-resolved、NetworkManager 或 dhcpcd。直接 cat /etc/resolv.conf 看到的 nameserver 行通常是最终生效的,但得确认来源:
- 运行
ls -l /etc/resolv.conf,如果指向/run/systemd/resolve/stub-resolv.conf,说明走的是systemd-resolved,真实上游 DNS 得查resolvectl status - 用
nmcli dev show | grep 'IP4.DNS'可验证 NetworkManager 是否接管了配置 - 某些容器或 WSL 环境里
/etc/resolv.conf是 host 注入的,不代表宿主机 DNS 设置
真正容易被忽略的是:DNS 配置分三层——本机设置、路由器转发、运营商递归服务器。你查到的只是第一层,而实际解析行为可能被中间某层劫持或重写,比如校园网或企业防火墙常会强制替换 DNS 响应。所以查完地址,最好立刻用 nslookup example.com 或 dig @<code>your-dns-ip example.com 测试是否真由该服务器响应。


















