---
title: "從 Mac 找出網路上的裝置：arp 與 dns-sd · Kilobat 指南"
url: "https://kilobat.app/zh-hant/guides/find-devices-on-network.html"
description: "在「終端機」用 arp 和 dns-sd 列出 Mac 在區域網路上看到的裝置，找出印表機或 NAS，並了解各個方法的限制。"
---

區域網路

# 從 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 找不到區域網路上的裝置](https://kilobat.app/zh-hant/guides/local-network-permission.html)」。
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 項目才需要管理者權限。

## 資料來源

- arp(8)，macOS 27.2 內建的 man 手冊頁
- dns-sd(1)，macOS 27.2 內建的 man 手冊頁
- [Apple 支援：在 Mac 上控制區域網路的存取權](https://support.apple.com/guide/mac-help/control-access-to-your-local-network-on-mac-mchla4f49138/mac)

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

## 相關指南

- [App 找不到區域網路上的裝置](https://kilobat.app/zh-hant/guides/local-network-permission.html): macOS 15 Sequoia 以上版本會在 App 連接區域網路上的裝置前先詢問你。
- [macOS 防火牆阻擋傳入連線](https://kilobat.app/zh-hant/guides/macos-firewall-incoming.html): macOS 防火牆控制其他電腦主動連到你 Mac 的連線。
- [Mac 使用自行指定的 IP 位址](https://kilobat.app/zh-hant/guides/self-assigned-ip-address.html): 如果 Mac 沒有收到 DHCP 伺服器的回應，就會從 169.254.0.0/16 中自行指定一個本地連結位址。
- [Mac 上的 IP 位址衝突](https://kilobat.app/zh-hant/guides/ip-address-conflict-mac.html): 同一個網路上的兩部裝置不能使用相同的 IP 位址。
