詞彙表/你會看到的程序

rapportd

又稱:裝置間連線

簡短回答

rapportd是你的Apple裝置在同一網路上互相尋找和溝通所用的macOS程序。登入同一個Apple帳號的Mac、iPhone、iPad和Apple TV之間的接續互通功能,都由它支撐。

它以你自己的帳號執行,並與你的其他裝置保持一個低調的連線,讓在裝置之間傳遞工作的功能能立即回應,而不必先搜尋。

和sharingd一樣,它通常出現在要求接受傳入連線的防火牆提示中,因為你的其他裝置需要連到它。

為什麼rapportd會出現在防火牆和活動監視器中

它會在本地網路上監聽你自己的裝置。會逐一詢問每個程序的防火牆,會在它第一次監聽時詢問,有時在macOS更新後還會再問一次。它由Apple簽署,允許它能讓接續互通正常運作。

它的CPU和網路用量通常極小。同一個帳號下的裝置越多,或網路上的裝置經常斷線又重新加入,它要做的事就越多。

封鎖它會發生什麼事

依賴裝置互相看見的功能會失效或變慢,而且沒有明確的錯誤訊息。如果變更防火牆後接續互通無法運作,請在「系統設定」→「網路」→「防火牆」→「選項」或你的防火牆App中,檢查rapportd是否被拒絕了。

如何查看rapportd在做什麼

rapportd會在區域網路上廣播自己,讓你的其他裝置找得到它,「終端機」可以讓你看到這兩端的情況。

  1. 打開活動監視器,按一下「網路」標籤頁,然後在搜尋欄位中輸入rapportd。它的「已傳送位元組」和「已接收位元組」通常都很小。
  2. 打開「終端機」並執行lsof -a -i -n -P -c rapportd。以(LISTEN)結尾的那一行是它等待連線的連接埠,是一個隨機的大號碼。標示為ESTABLISHED的那幾行是與其他裝置的連線,通常是你自己的裝置。
  3. 執行dns-sd -B _companion-link._tcp local.,列出你網路上廣播這項服務的Apple裝置。你的Mac會以自己的名稱出現。按下Control-C即可停止。
  4. 想看它自己的訊息,就執行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上最好用的活動監視器替代方案,或瀏覽詞彙表中的所有詞條。