同じネットワークのMacを見つけてIPを調べる
たまに横にあるDHCPでIPをとってるMacbookのIPが知りたい、と思うわけですが、その場にいるのであればMacbook側でifconfigとかステータス表示系のウィジェットなんかで簡単に知ることができますが、今回はネットワーク越しにできる方法がないか調べてみました。(追記: MacからMacを見つける、という想定で書いています。)
リストするにはMacに標準搭載されているBonjour(Zeroconf, multicast DNS)を使います。ここではサービスタイプにsshを使っていますが、httpやsmbを使ってもいろいろと出てくるでしょう。
$ mDNS -B _ssh._tcp
mDNSコマンドに関しては僕も詳しくしらないのでmanを見たりして頂ければと思います。
さらなるアドバタイズを待つようで、コマンドが終わらないので適当にCtrl-Cなどで終了します。リストから、IPを調べたいマシンのInstance Nameをresolveipコマンドに入れると解決できます。(.localをつけるのがミソ?)
$ resolveip hoge.local
追記: resolveipはどうやらMySQLをインストールするとインストールされるコマンドのようでした。MySQL一式がインストールされていない環境ではping hoge.localなどとして表示されるIPをもとに知ることができそうです。
どうやらsshなど一部の組み込みコマンドではこのIPアドレスの解決は自動的に行われるようで、以下のようにして直接接続することも可能でした。
$ ssh hoge.local