什么是域名系统缓存
当你在浏览器里输入一个网址,比如 www.example.com,系统并不会每次都从头去查找这个地址对应的 IP。为了加快访问速度,操作系统和路由器会把最近查询过的域名结果临时存起来,这就是域名系统(DNS)缓存。但有时候缓存的数据出问题了,比如记录过期或被污染,就会导致网页打不开、跳转到奇怪的页面。
这时候,掌握几个常用的 DNS 缓存查询指令,能帮你快速定位问题出在哪一步。
查看本地 DNS 缓存内容
在 Windows 系统中,可以使用命令提示符查看当前缓存的 DNS 记录。按下 Win + R,输入 cmd 打开命令行,然后输入:
ipconfig /displaydns这会列出所有当前保存在本地的域名缓存条目。你可以翻看有没有异常的记录,比如某个正常网站指向了一个陌生的 IP 地址。
清除 DNS 缓存重新查询
如果发现缓存可能有问题,最简单的办法是清空它,让系统下次访问时重新获取最新数据。在命令行执行:
ipconfig /flushdns执行成功后会提示“已刷新 DNS 解析缓存”。之后再尝试打开网页,系统会发起新的 DNS 查询。
使用 nslookup 手动查询 DNS
除了看本地缓存,你还可以直接向指定的 DNS 服务器发请求,验证是不是网络配置的问题。比如想查百度的解析情况:
nslookup www.baidu.com默认会使用你当前网络的 DNS 服务器。如果你想换一个公共 DNS 测试,比如 Google 的 8.8.8.8:
nslookup www.baidu.com 8.8.8.8如果这里能正常返回 IP,但在浏览器里打不开,那问题可能不在 DNS,而是浏览器或本地网络设置。
用 dig 命令深入排查(Linux/macOS)
如果你用的是 Mac 或 Linux,dig 是更强大的工具。比如查看某个域名的完整解析过程:
dig www.taobao.com它会显示从请求到响应的所有细节,包括使用的 DNS 服务器、响应时间、返回的 A 记录等。加上 +noall +answer 参数可以只看结果:
dig www.taobao.com +noall +answer这样输出更干净,适合快速判断解析是否正确。
遇到解析异常怎么办
假设你在公司连内网正常,但回家发现某个网站一直打不开,而别人能打开,就可以先 flushdns 清一下缓存,再用 nslookup 对比公司 DNS 和 114.114.114.114 的返回结果。如果自家路由器返回的 IP 明显不对,可能是运营商 DNS 出了问题,这时候换成公共 DNS 就能解决。
有时候改完路由器的 DNS 设置,旧缓存还在设备上作怪,记得每台电脑都要执行一次清缓存操作才彻底。