macOS 进程
Mac 上的 mDNSResponder 是什么?
mDNSResponder 为 Mac 上的所有 App 处理 DNS 查询,并在本地网络上运行 Bonjour。它的流量其实是其他 App 的查询。
在哪里看到它
mDNSResponder出现在“活动监视器”›“网络”、nettop或 Kilobat 的列表中。- 防火墙或网络监视工具询问是否允许
mDNSResponder连接。 - 它的数据包数量很多,但字节数很少。
它是什么
man 手册页称它为“Multicast and Unicast DNS daemon”(多播与单播 DNS 守护进程)。它实现了多播 DNS 和 DNS 服务发现,Apple 将其称为 Bonjour。
从 Mac OS X 10.6 起,它也是全系统的 DNS 解析器。它替其他进程发送 DNS 查询,并缓存查询结果。
程序路径为 /usr/sbin/mDNSResponder。mDNSResponderHelper 是它的辅助程序,有自己的 man 手册页。
为什么它会使用网络
- 为 App 执行 DNS 查询。App 每次连接某个域名时,mDNSResponder 都可能为它发送一次 DNS 查询。App 多了,查询也就多。
- 本地网络上的 Bonjour。它在 UDP 端口 5353 上监听多播 DNS,用来发现打印机、音箱和其他 Mac。
- 加密 DNS。安装加密 DNS 描述文件后,查询会通过 HTTPS 或 TLS 发往该 DNS 服务器。请参阅在 Mac 上使用加密 DNS。
这正常吗?
正常。DNS 响应很小,所以 mDNSResponder 传输的数据通常比它所服务的 App 少。
如果它的流量长时间居高不下,就要仔细查看。查询极其频繁的程序或繁忙的本地网络都可能导致这种情况。
查看它用了多少
从“应用程序”>“实用工具”中打开“活动监视器”,点按“网络”。
在搜索栏中输入
mDNSResponder。“发送的字节”和“接收的字节”列显示它传输了多少数据。在“终端”中只观察这个进程。按 d 显示每秒的变化,按 q 退出。
nettop -p mDNSResponder -P要查看它使用的 DNS 服务器,请显示解析器配置。
scutil --dns
安全地减少或暂停它
找到发起查询的 App。在“活动监视器”中,这个 App 自己的流量往往会同时上升。
退出或暂停这个 App,查询也会随之停止。
如果查询失败并反复重试,请先修复 DNS。请参阅Mac 上 DNS 无法解析。
如果旧的解析结果导致错误,请刷新 DNS 缓存。请参阅在 Mac 上刷新 DNS 缓存。
不要在“活动监视器”中退出
mDNSResponder。它是 macOS 的一部分,其他功能依赖它。没有它,Mac 上的任何 App 都无法解析域名。
使用 Kilobat
打开 Kilobat 的 App 列表并搜索
mDNSResponder。它所在的行会显示实时速率和已传输的字节数。比较从这台 Mac 访问各个 DNS 服务器的速度。
kilobat dns-benchmark在“终端”中查看同样的实时列表。按 / 并输入名称进行搜索。
kilobat status --watch显示它一天内的流量。名称与
kilobat report --summary中的一致。kilobat bandwidth mDNSResponder day通过 MCP,AI 智能体可以用
get_app_bandwidth和名称mDNSResponder获取同样的历史记录。实时视图免费。App 中的历史记录需要 Pro。Kilobat 只在 App 运行时记录历史。
常见问题
mDNSResponder 是间谍软件吗?
不是。它是 Apple 的 DNS 和 Bonjour 守护进程,位于 /usr/sbin,并附有 man 手册页。man 手册页说明用户不应手动运行它。
为什么防火墙会询问 mDNSResponder?
Mac 上的所有 DNS 查询都要经过它。监控 DNS 的防火墙看到的是 mDNSResponder,而不是发起查询的 App。
参考资料
- mDNSResponder(8) 和 mDNSResponderHelper(8),macOS 27.2 自带的 man 手册页
- Apple 支持:在 Mac 上更改 DNS 设置
- Apple 支持:在 Mac 上的“活动监视器”中查看网络活动
- nettop(1),macOS 27.2 自带的 man 手册页
参考资料核查于 2026年10月29日。man 手册页为 macOS 自带版本;在“终端”中用 man <name> 打开。