rapportd
又稱:裝置間連線
簡短回答
rapportd是你的Apple裝置在同一網路上互相尋找和溝通所用的macOS程序。登入同一個Apple帳號的Mac、iPhone、iPad和Apple TV之間的接續互通功能,都由它支撐。
它以你自己的帳號執行,並與你的其他裝置保持一個低調的連線,讓在裝置之間傳遞工作的功能能立即回應,而不必先搜尋。
和sharingd一樣,它通常出現在要求接受傳入連線的防火牆提示中,因為你的其他裝置需要連到它。
為什麼rapportd會出現在防火牆和活動監視器中
它會在本地網路上監聽你自己的裝置。會逐一詢問每個程序的防火牆,會在它第一次監聽時詢問,有時在macOS更新後還會再問一次。它由Apple簽署,允許它能讓接續互通正常運作。
它的CPU和網路用量通常極小。同一個帳號下的裝置越多,或網路上的裝置經常斷線又重新加入,它要做的事就越多。
封鎖它會發生什麼事
依賴裝置互相看見的功能會失效或變慢,而且沒有明確的錯誤訊息。如果變更防火牆後接續互通無法運作,請在「系統設定」→「網路」→「防火牆」→「選項」或你的防火牆App中,檢查rapportd是否被拒絕了。
如何查看rapportd在做什麼
rapportd會在區域網路上廣播自己,讓你的其他裝置找得到它,「終端機」可以讓你看到這兩端的情況。
- 打開活動監視器,按一下「網路」標籤頁,然後在搜尋欄位中輸入
rapportd。它的「已傳送位元組」和「已接收位元組」通常都很小。 - 打開「終端機」並執行
lsof -a -i -n -P -c rapportd。以(LISTEN)結尾的那一行是它等待連線的連接埠,是一個隨機的大號碼。標示為ESTABLISHED的那幾行是與其他裝置的連線,通常是你自己的裝置。 - 執行
dns-sd -B _companion-link._tcp local.,列出你網路上廣播這項服務的Apple裝置。你的Mac會以自己的名稱出現。按下Control-C即可停止。 - 想看它自己的訊息,就執行
log stream --predicate 'process == "rapportd"'。按下Control-C即可停止。
rapportd的正常用量與異常情況
正常:CPU用量接近零,網路流量涓涓細流,當你的另一台裝置靠近或加入網路時,會短暫活動一下。
值得檢查:連續好幾個小時都有穩定的流量,或接續互通功能失效。常見原因如下:
- 訪客網路或飯店網路不讓裝置互相看見,所以不論rapportd嘗試多久,你的裝置都連不上。
- 你帳號下的某台裝置一直斷開Wi-Fi又重新加入。
- 防火牆拒絕了rapportd,所以你的其他裝置連不到它。
- 同一個網路上有很多裝置登入了同一個Apple帳號。
rapportd在公共Wi-Fi上會透露什麼
rapportd會在你加入的每個網路上廣播_companion-link服務,廣播中帶有你Mac的名稱,就如上面的dns-sd指令所顯示的。在咖啡店或飯店的網路上,其他裝置雖然用不了這項服務,卻看得到這個名稱。
如果你的Mac名稱中有你的全名,可以到「系統設定」→「一般」→「關於」→「名稱」中更改。之後rapportd和Mac的其他Bonjour廣播都會使用新名稱。
大家常問的問題
Mac上的rapportd是什麼?
它是讓你的Apple裝置在同一網路上互相尋找和溝通的macOS程序,服務Mac、iPhone、iPad和Apple TV之間的接續互通功能。
應該允許rapportd接受傳入的連線嗎?
如果你在其他Apple裝置之間使用接續互通功能,就應該允許。它是macOS的一部分,由Apple簽署。
rapportd是間諜軟體嗎?
不是。它是Apple的程序,只與登入你自己Apple帳號的裝置溝通。它位於/usr/libexec/rapportd,在磁碟上只有Apple更新才能更改的受密封保護區域。
可以停用rapportd嗎?
沒有官方支援的方法。它由macOS啟動,位於磁碟的密封區域中。在防火牆中拒絕它,可以讓你的其他裝置連不到它,代價是失去需要它的接續互通功能。
rapportd為什麼在監聽某個連接埠?
你的其他Apple裝置會透過區域網路連到它,所以它替它們保持一個連接埠開著。這個連接埠是隨機的大號碼,並以_companion-link在區域網路上廣播。
相關詞條
想找比活動監視器更好的工具?請參閱Mac上最好用的活動監視器替代方案,或瀏覽詞彙表中的所有詞條。