ローカルネットワーク

Macからローカルネットワーク上のデバイスを探す

macOSには、ほかのデバイスを確認する方法が2つ組み込まれています。ARPテーブルとBonjourです。どちらもネットワーク全体をスキャンするものではありません。

対象:現在のすべてのmacOS。「ローカルネットワーク」のプライバシー設定はmacOS 15 Sequoia以降。確認日:2026年10月29日

症状

  • プリンタ、NAS、その他のデバイスのIPアドレスが知りたい。
  • ネットワーク上にどんなデバイスがあるか知りたい。
  • アプリがローカルネットワーク上のデバイスを見つけられない。

考えられる原因

  • ARPテーブルには最近通信したデバイスしか載らない。Macがデバイスを一覧に載せるのは、そのデバイスと通信したあとだけです。
  • Bonjourにはサービスを公開しているデバイスしか表示されない。サービスを公開していないデバイスは表示されません。
  • アプリの「ローカルネットワーク」へのアクセスがオフ。macOS 15 Sequoia以降では、ローカルネットワーク上のデバイスを探すのにアプリの許可が必要です。
  • ネットワークのクライアント分離。ゲストネットワークや公共のネットワークの中には、デバイス同士が見えないようにしているものがあります。

確認方法

  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. 特定のアプリだけがデバイスを見つけられない場合は、「システム設定」>「プライバシーとセキュリティ」>「ローカルネットワーク」を開き、一覧でそのアプリを探します。

解決方法

  1. 「ローカルネットワーク」でアプリがオフになっている場合は、オンにします。アプリがローカルネットワーク上のデバイスを見つけられないを参照してください。

  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に対応したデバイスを起こすには、Wakeパケットを送ります。起動したかどうかは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>を実行すると開けます。