macOS 程序
Mac 上的 mDNSResponder 是什麼?
mDNSResponder 替 Mac 上的每個 App 處理 DNS 查詢,也在區域網路上執行 Bonjour。它的流量其實是其他 App 的查詢。
在哪裡會看到它
mDNSResponder出現在「活動監視器」›「網路」、nettop或 Kilobat 的列表中。- 防火牆或網路監視工具詢問是否允許
mDNSResponder連線。 - 它的封包數量很多,但位元組數很少。
它是什麼
man 頁面稱它為「Multicast and Unicast DNS daemon」(多點傳送與單點傳送 DNS 背景程式)。它實作了 Multicast DNS 和 DNS Service Discovery,Apple 稱之為 Bonjour。
從 Mac OS X 10.6 起,它也是整個系統的 DNS 解析器。它替其他處理程序送出 DNS 查詢,並把回應存在快取中。
程式位於 /usr/sbin/mDNSResponder。mDNSResponderHelper 是一個輔助程式,有自己的 man 頁面。
為什麼它會使用網路
- 替 App 進行 DNS 查詢。每當 App 連線到某個名稱,mDNSResponder 就可能替它送出 DNS 查詢。App 越多,查詢也越多。
- 區域網路上的 Bonjour。它在 UDP 連接埠 5353 上監聽 Multicast DNS,用來尋找印表機、喇叭和其他 Mac。
- 加密 DNS。安裝加密 DNS 描述檔後,查詢會透過 HTTPS 或 TLS 送往該 DNS 伺服器。請參閱在 Mac 上使用加密 DNS。
這正常嗎?
是的。DNS 回應很小,所以 mDNSResponder 傳輸的資料量通常比它所服務的 App 少。
如果它的流量長時間居高不下,就值得細查。某個程式發出大量查詢,或區域網路很繁忙,都可能造成這種情況。
查看它用了多少
從「應用程式」>「工具程式」打開「活動監視器」,按一下「網路」。
在搜尋欄位中輸入
mDNSResponder。「已傳送位元組」和「已接收位元組」欄位會顯示它傳輸了多少。在終端機中只監看這個處理程序。按 d 顯示每秒的變化量,按 q 結束。
nettop -p mDNSResponder -P若要查看它使用的 DNS 伺服器,請顯示解析器設定。
scutil --dns
安全地減少或暫停它
找出發出查詢的 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> 開啟。