區域網路

從 Mac 找出區域網路上的裝置

macOS 內建兩種查看其他裝置的方法:ARP 表和 Bonjour。兩者都不是完整的網路掃描。

適用於:所有目前的 macOS 版本。「區域網路」隱私權設定適用於 macOS 15 Sequoia 及以後版本。檢查日期:2026年10月29日

症狀

  • 你需要印表機、NAS 或其他裝置的 IP 位址。
  • 你想知道網路上有哪些裝置。
  • 某個 App 找不到區域網路上的裝置。

可能原因

  • ARP 表只保存最近的裝置。Mac 和裝置交換過流量後,才會列出它。
  • Bonjour 只顯示有廣播服務的裝置。不廣播服務的裝置不會出現。
  • App 的「區域網路」存取權已關閉。在 macOS 15 Sequoia 及以後版本,App 需要權限才能尋找區域網路上的裝置。
  • 網路啟用了用戶端隔離。有些訪客網路和公共網路會讓裝置彼此看不到。

如何檢查

  1. 顯示 ARP 表。表中列出 Mac 目前知道的 IP 位址和硬體(MAC)位址。

    arp -a
  2. 若要略過名稱查詢,加上 -n。

    arp -a -n
  3. 用 Bonjour 瀏覽有廣播服務的裝置。這個範例會找出印表機。按 Control-C 停止。

    dns-sd -B _ipp._tcp
  4. 瀏覽透過 SMB 分享檔案的裝置。

    dns-sd -B _smb._tcp
  5. 如果只有一個 App 找不到裝置,打開「系統設定」>「隱私權與安全性」>「區域網路」,在列表中找出該 App。

如何修正

  1. 如果該 App 在「區域網路」中是關閉的,就把它打開。請參閱「App 找不到區域網路上的裝置」。

  2. 如果你在訪客網路上,請改連主網路,才能存取你的裝置。

  3. 若要把裝置加入 ARP 表,先 ping 它的位址,然後再執行一次 arp -a。

    ping -c 2 192.168.1.20
  4. 在路由器設定中給重要裝置固定位址,這樣隨時都找得到它們。

使用 Kilobat

  1. Kilobat 會從 ARP 鄰居快取列出 Mac 最近通訊過的裝置。這不是完整的掃描。

    kilobat devices
  2. 若要包含 Bonjour 服務,加上 --bonjour。

    kilobat devices --bonjour
  3. 若要給裝置取一個 Kilobat 會記住的名稱,請使用它的硬體位址。

    kilobat devices name aa:bb:cc:dd:ee:ff "Printer"
  4. 若要喚醒支援 Wake-on-LAN 的裝置,傳送喚醒封包。Kilobat 無法確認裝置是否已喚醒。

    kilobat wake aa:bb:cc:dd:ee:ff
  5. 儀表板中的「裝置」標籤頁需要 Pro。

常見問題

為什麼 arp -a 沒有顯示我所有的裝置?

表中只列出最近和 Mac 交換過流量的裝置。睡眠中或沒有動靜的裝置不會出現。

這些指令需要管理者密碼嗎?

不需要。arp -a 和 dns-sd -B 任何使用者都能執行。刪除 ARP 項目才需要管理者權限。

資料來源

資料來源檢查日期:2026年10月29日。man 頁面為 macOS 內建版本;在終端機中用 man <name> 開啟。