ローカルネットワーク
Macからローカルネットワーク上のデバイスを探す
macOSには、ほかのデバイスを確認する方法が2つ組み込まれています。ARPテーブルとBonjourです。どちらもネットワーク全体をスキャンするものではありません。
症状
- プリンタ、NAS、その他のデバイスのIPアドレスが知りたい。
- ネットワーク上にどんなデバイスがあるか知りたい。
- アプリがローカルネットワーク上のデバイスを見つけられない。
考えられる原因
- ARPテーブルには最近通信したデバイスしか載らない。Macがデバイスを一覧に載せるのは、そのデバイスと通信したあとだけです。
- Bonjourにはサービスを公開しているデバイスしか表示されない。サービスを公開していないデバイスは表示されません。
- アプリの「ローカルネットワーク」へのアクセスがオフ。macOS 15 Sequoia以降では、ローカルネットワーク上のデバイスを探すのにアプリの許可が必要です。
- ネットワークのクライアント分離。ゲストネットワークや公共のネットワークの中には、デバイス同士が見えないようにしているものがあります。
確認方法
ARPテーブルを表示します。Macが現在把握しているIPアドレスとハードウェア(MAC)アドレスが一覧表示されます。
arp -a名前の検索を省くには、
-nを付けます。arp -a -nBonjourでサービスを公開しているデバイスを探します。この例ではプリンタを探します。止めるにはControl+Cを押します。
dns-sd -B _ipp._tcpSMBでファイルを共有しているデバイスを探します。
dns-sd -B _smb._tcp特定のアプリだけがデバイスを見つけられない場合は、「システム設定」>「プライバシーとセキュリティ」>「ローカルネットワーク」を開き、一覧でそのアプリを探します。
解決方法
「ローカルネットワーク」でアプリがオフになっている場合は、オンにします。アプリがローカルネットワーク上のデバイスを見つけられないを参照してください。
ゲストネットワークに接続している場合は、メインのネットワークに接続するとデバイスにアクセスできます。
デバイスをARPテーブルに載せるには、先にそのアドレスにpingを送ります。そのあとでもう一度
arp -aを実行します。ping -c 2 192.168.1.20重要なデバイスには、ルーターの設定で固定アドレスを割り当てておきます。そうすればいつでも見つけられます。
Kilobatを使う場合
Kilobatは、ARPのネイバーキャッシュから、Macが最近通信したデバイスを一覧表示します。ネットワーク全体のスキャンではありません。
kilobat devicesBonjourのサービスも含めるには、
--bonjourを付けます。kilobat devices --bonjourKilobatが覚えておく名前をデバイスに付けるには、そのハードウェアアドレスを使います。
kilobat devices name aa:bb:cc:dd:ee:ff "Printer"Wake-on-LANに対応したデバイスを起こすには、Wakeパケットを送ります。起動したかどうかはKilobatでは確認できません。
kilobat wake aa:bb:cc:dd:ee:ffダッシュボードの「デバイス」タブには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でローカルネットワークへのアクセスを制御する
出典は2026年10月29日に確認しました。manページはmacOSに付属のものです。「ターミナル」でman <name>を実行すると開けます。