Mac网页异常多因DNS缓存污染,须按系统版本执行对应命令:Sonoma至Catalina用“sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder”;Mojave至Sierra仅用“sudo killall -HUP mDNSResponder”;El Capitan及更早需先查进程再杀discoveryd。

Mac网页打不开、加载缓慢或跳转到错误地址,大概率是本地DNS缓存里存了过期、错误或被污染的域名解析记录,必须用命令行同时清空缓存并重启mDNSResponder服务才能彻底解决,只做一半操作可能残留旧记录导致问题反复。
确认当前macOS系统版本
点击左上角苹果图标 → “关于本机”,看清系统名称和完整版本号(例如“macOS Sonoma 14.7”或“macOS Ventura 13.6”)。【这一步不可跳过】——Sonoma(14)至 Catalina(10.15)、Mojave(10.14)至 Sierra(10.12)、El Capitan(10.11)及更早,三类系统底层管理DNS缓存的服务完全不同,混用命令会导致清理失败。
打开终端应用
按下 Command + 空格 → 输入“终端” → 回车启动。窗口打开后光标闪烁,即可开始输入命令。
执行一键清理命令
根据你刚查到的系统版本,选择对应方法:
免费 DNS 与邮件安全分析(IntoDNS.ai):包括 DNSSEC、SPF、DKIM、DMARC、MTA-STS、BIMI、SMTP STARTTLS、FCrDNS、黑名单、发件人要求及报告。
方法一:适用于 macOS Sonoma(14)、Ventura(13)、Monterey(12)、Big Sur(11)、Catalina(10.15)
在终端中粘贴并执行:sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
这是一条复合命令,&& 保证两个动作严格先后执行:先刷新缓存服务,再重启解析进程。缺任意一步,都可能残留旧记录。
方法二:适用于 macOS Mojave(10.14)、High Sierra(10.13)、Sierra(10.12)
只需执行:sudo killall -HUP mDNSResponder
这些版本中 dscacheutil 不参与 DNS 缓存管理,加了反而报错或无响应。
方法三:适用于 macOS El Capitan(10.11)及更早(极少数仍在用)
先检查实际运行的进程名:ps aux | grep -E '(mDNS|discovery)'
如果输出中包含 discoveryd,才执行:sudo killall -HUP discoveryd
【乱用 discoveryd 命令在新系统上会直接报错】
输入密码完成执行
第一步:回车后,终端会提示输入管理员密码。
第二步:键入你当前登录用户的密码——输入过程屏幕不显示任何字符,这是正常的安全机制,不要因此怀疑键盘失灵。
第三步:输完直接按回车,终端返回新行光标且无报错信息(如 no such process、command not found 或 Permission denied),即表示命令已成功执行。

















