清除终端DNS缓存【本地缓存】
DNS 缓存
DNS(域名系统)是 Internet 的一项核心服务,它负责将用户可读的域名(例如 www.baidu.com)转换为计算机可理解的 IP 地址。当你访问一个网站时,浏览器会向 DNS 服务器查询域名所对应的 IP 地址,并将结果缓存起来。下次再访问同一网站时,就可以直接从缓存中获取 IP 地址,从而加快响应速度。
清除 DNS 缓存
在某些情况下,DNS 缓存可能会导致问题,这时,就需要进行清除或刷新,例如:
- 解决访问问题:如果无法访问某个网站,或者页面加载速度变慢,可能是由于本地 DNS 缓存中存储了错误或过时的 IP 地址。清除 DNS 缓存可以强制重新查询最新的 DNS 信息。
- 更新域名解析:当网站更换服务器或 IP 地址时,DNS 记录也需要更新。如果你发现在更新后仍然无法访问,清除 DNS 缓存可以帮助你电脑获取新的 DNS 记录。
- 排除网络故障:在排查网络连接问题时,清除 DNS 缓存是一项目基本的故障排除步骤。有时,旧的或损坏的缓存数据可能会导致网络请求失败。
- 避免 DNS 污染:DNS 污染是指恶意软件或攻击者通过篡改 DNS 响应来重定向用户的网络流量。清除 DNS 缓存有助于防止此类攻击,它会强制计算机或应用程序从干净的源头重新获取 DNS 信息。
- 提高网络性能:虽然 DNS 缓存可以提高域名解析的效率和速度,但在某些情况下,过时的缓存数据可能会导致性能问题。定期刷新 DNS 缓存可以确保你的网络请求总是基于最新的 DNS 记录。
Windows DNS服务处理
手动或自动设置DNS 地址
清空/查看dns缓存
# 清空Windows缓存
ipconfig /flushdns
# 查看dns解析
ipconfig /displaydns
# 查看DNS记录
ipconfig /all
手动重启Windows DNS服务
win + R 输入 services.msc 找到DNS服务进行重启刷新
macOS 上清除 DNS 缓存
正常清除步骤
-
打开终端:
- 可以通过Spotlight搜索找到终端应用程序。只需按下Command + 空格键,然后输入“终端”并按回车即可。
- 也可以通过Finder访问应用程序 > 实用工具 > 终端来启动它。
-
使用命令刷新DNS缓存:
- 在终端中输入以下命令并执行:“sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder”。
-
- 该命令字符串作用是清空本地的DNS缓存并重启mDNSResponder服务,使其重新加载DNS信息。
-
输入管理员密码:
- 执行上述命令后,系统会提示输入管理员密码。在输入密码时,界面不会有任何显示,但这是正常的,只需继续输入密码并按回车键即可。
- 这一步是确保有足够权限执行这些操作。
-
确认操作成功:
- 如果命令执行无误,DNS缓存将被成功刷新。此时虽然没有任何明确的成功提示,但只要命令没有返回错误信息,就表明操作已经成功了。
- 可以试图访问之前有问题的网站或服务,看问题是否得到解决。
-
针对特定macOS版本的命令:
- 不同的macOS版本可能需要不同的命令来刷新DNS缓存。例如,在macOS Mojave或更高版本上,使用“sudo killall -HUP mDNSResponder”命令。
- 而macOS Catalina和Big Sur版本则需要结合使用“sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder”命令。
各个版本操作
| macOS 版本 | 终端命令 |
| macOS Sonoma macOS Ventura macOS Monterey macOS Big Sur macOS Catalina | sudo dscacheutil -flushcache``sudo killall -HUP mDNSResponder |
| macOS Mojave macOS High Sierra macOS Sierra OS X Mountain Lion Mac OS X Lion | sudo killall -HUP mDNSResponder |
| Mac OS X El Capitan OS X Mavericks | sudo dscacheutil -flushcache``sudo killall -HUP mDNSResponder |
| OS X Yosemite | sudo discoveryutil mdnsflushcache``sudo discoveryutil udnsflushcaches |
| Mac OS X Snow Leopard | sudo dscacheutil -flushcache |
| Mac OS X Leopard | sudo lookupd -flushcache |
| Mac OS X Tiger | lookupd -flushcache |
浏览器清除DNS缓存
Chrome 和 Microsoft Edge 中清除 DNS 缓存
适用于采用 Chromium 内核的浏览器,如 Google Chrome、Microsoft Edge 和 Brave 等。
# 浏览器访问地址
chrome://net-internals/#dns
Mozilla Firefox 中清除 DNS 缓存
# 浏览器访问地址
about:networking#dns
Apple Safari 中清除 DNS 缓存
使用⌘command + ,快捷键打开「设置」,在「高级」选项中,勾选「显示网页开发者功能」 在「开发」菜单中选择「清空缓存」或「清空所有用户场景的缓存」(多 Safari 用户场景)。