如何在Mac上找到并删除DNS缓存文件?

HCRM技术_小炮 DNS 2025-08-26 2 0

在较新版本的 macOS(High Sierra 及之后)中,DNS 缓存不再以一个单一的“文件”形式存在,而是由系统服务mDNSResponder 在内存中管理的。 没有所谓的“缓存文件”让你去手动删除。

你的目标不是删除一个文件,而是刷新或清空这个内存中的缓存。

以下是不同方法的详细步骤,推荐使用第一种终端命令法,这是最标准、最有效的方法。

方法一:通过终端命令刷新(推荐)

这是最直接、最有效的方法,无论你的 macOS 版本是什么,都可以先尝试这个通用命令。

1、 打开应用程序 >实用工具 >终端

2、 复制并粘贴以下命令,然后按回车:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

3、 系统会提示你输入密码(输入时密码不可见),输入你的 Mac 管理员密码后再次按回车。

命令解释:

sudo: 获取管理员权限。

dscacheutil -flushcache: 清空 DNS 缓存。

;: 分隔符,表示执行完前一个命令后执行下一个。

killall -HUP mDNSResponder: 重启负责 DNS 解析的核心服务(mDNSResponder),使其重新加载配置并清空缓存。

如果上述命令无效,请根据你的 macOS 版本尝试以下历史命令:

对于 macOS Big Sur (11.0) 及更新版本(包括 Monterey, Ventura, Sonoma):

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

或者尝试:

sudo killall -HUP mDNSResponder

对于 macOS Catalina (10.15), Mojave (10.14), High Sierra (10.13):

sudo killall -HUP mDNSResponder

对于更旧的版本(如 El Capitan, Yosemite):

sudo discoveryutil mdnsflushcache

方法二:通过重启网络服务(效果类似)

重启网络服务也会间接清空 DNS 缓存。

1、 打开系统设置 >网络

2、 选择你正在使用的网络连接(如 Wi-Fi 或以太网)。

3、 点击右下角的详细信息...

4、 点击侧边栏最下方的还原按钮。

5、 选择还原此服务的网络设置,这会重启网络服务并清空缓存,但请注意,它同时也会忘记该网络的其他设置(如自定义 DNS、代理等)。

缓存文件”位置的说明

正如开头所说,现代 macOS 没有单一的 DNS 缓存文件,负责 DNS 的服务mDNSResponder 可能会将一些状态数据存储在以下路径,但这些不是传统意义上的“缓存”,手动删除它们可能无效甚至导致问题,强烈不推荐普通用户操作

/var/run/mDNSResponder

/Library/Preferences/com.apple.mDNSResponder.plist

/var/db/mDNSResponderCache.plist (在某些旧版本中存在)

警告: 请不要随意删除/var/ 目录下的文件,这可能导致系统不稳定。

1、最佳方法:对于所有现代 macOS 版本,直接打开终端,使用命令sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder,输入密码后即可完成刷新。

2、 清空 DNS 缓存可以解决因旧 DNS 记录导致的网站无法访问、访问到错误的网站等问题。

3、 操作完成后,最好完全关闭并重新打开你的浏览器(Safari, Chrome 等),因为浏览器自身也有 DNS 缓存。

希望这些信息能帮到你!

文章摘自:https://idc.huochengrm.cn/dns/14166.html

评论