在“无网络”(即设备完全没有连接到任何网络,Wi-Fi/网线/移动数据均断开)的情况下,你无法向远程的DNS服务器发起查询,也无法从网络侧获得任何域名的解析结果,但你可以通过以下几种方式查看设备本地存储的DNS配置、缓存或HOSTS文件,这些信息完全存在本机,不需要联网。
以下分操作系统说明:
1. 查看当前网络接口配置的DNS服务器地址(本机设置)
即使没连上网,设备依然保存着网卡或系统里配置的DNS服务器IP(如手动设置的8.8.8.8 或DHCP分配的历史记录)。
Windows:
打开命令提示符(Win + R,输入cmd),输入:
ipconfig /all查看当前“以太网适配器”或“无线局域网适配器”下的DNS 服务器 那一行,如果是“未识别的网络”,这里显示的是最后一次配置的地址。
macOS / Linux:
打开终端(Terminal),输入:
cat /etc/resolv.conf 会看到类似nameserver 192.168.1.1 或nameserver 8.8.8.8 的内容,注意:如果你的系统使用systemd-resolved 或NetworkManager,该文件可能指向本地回环地址(如127.0.0.53),这意味着DNS解析由本地服务处理,你可以进一步查看该服务的配置。
macOS 图形界面:
「系统设置」→「网络」→选择当前网络(如Wi-Fi)→「详细信息」→「DNS」,会列出已配置的DNS服务器。
2. 查看本地DNS缓存(最近解析过的域名记录)
如果你之前曾连接过网络,操作系统会把域名解析结果(如baidu.com →39.156.66.10)缓存下来,离线状态下可以读取这个缓存。
Windows:
ipconfig /displaydns会列出所有缓存的域名、类型、TTL和IP地址,如果没缓存,则显示为空。
macOS / Linux:
macOS:查看DNS缓存需要管理员权限,且不同版本命令略有差异(较新版是sudo dscacheutil -cachedump -entries Host,或sudo killall -INFO mDNSResponder 后查看日志,较复杂)。
更简单的方法:直接查看/etc/hosts 文件(见下一条),因为macOS的DNS缓存通常会优先查询hosts文件,但完整的缓存记录需要特殊工具或日志。
Linux:如果使用systemd-resolved,执行resolvectl statistics 能看到缓存统计(但具体条目需要额外命令);或使用nscd -g(如果安装了nscd)查看统计。
3. 查看 hosts 文件(静态映射列表,始终可用)
这是操作系统最先查询的“本地小字典”,完全离线可用。
Windows:C:\Windows\System32\drivers\etc\hosts(用记事本打开)
macOS / Linux:/etc/hosts(用cat /etc/hosts 或文本编辑器打开)
该文件格式为:IP地址 域名,如果这里没有你想要的域名,那就是没有。
4. 使用本地DNS服务器(如路由器、自建DNS)
如果你的设备连接了局域网(例如通过网线连上了路由器,但路由器没有外网),你可以:
- 登录路由器管理后台(通常是192.168.1.1 或192.168.0.1),查看路由器自动获得的DNS或手动设置的DNS。
- 如果你的局域网内有自建的DNS服务器(如dnsmasq、Pi-hole),你可以直接访问该服务器(例如通过nslookup 指向其IP),哪怕它没有外网,它也能返回其本地缓存或配置条目。
5. 注意:真正的“互联网DNS查询”一定会失败
如果你想要实时查询某个域名在互联网上的真实IP(例如想知道www.example.com 当前解析到哪个服务器),没有网络是不可能的,任何需要向8.8.8.8 或114.114.114.114 发送数据包的请求都会立即返回“超时”或“域名不存在”。
| 你想查的内容 | 能否查到 | 方法 |
| 本机配置的DNS服务器IP | ✅ 可以 | ipconfig /all 或cat /etc/resolv.conf |
| 之前上网时留下的DNS缓存 | ✅ 可以(如果未过期) | ipconfig /displaydns(Windows) |
| hosts文件里的静态映射 | ✅ 可以 | 直接打开hosts 文件 |
| 某个互联网域名的当前解析IP | ❌不可以 | 必须联网才能向远程DNS服务器查询 |
:如果你只是想知道“我的电脑之前用的DNS服务器是什么”,或者“本地hosts里有没有某条记录”,无网络完全可以查,但如果你想知道“现在google.com 的IP是多少”,那抱歉,只能联网。
文章摘自:https://idc.huochengrm.cn/dns/25905.html
评论
涂海融
回复在无网络环境下,可以通过查阅电脑系统内的hosts文件或使用预先设定的静态DNS地址来查询DNS。