macOSでインターネット共有したデバイスのIPアドレスを確認する方法

OS X時代はインターネット共有したデバイスのIPアドレスが /var/log/system.log にログとして書き出されていました1)Raspberry Pi買ったはいいけどディスプレイがない – 半空洞男女関係
https://mactkg.hateblo.jp/entry/2013/01/16/040701
が、macOSに名前が変わったSierra以降はログの書き出し場所が変わっています2)macOS Sierra時代のsyslogとの付き合いかた – すがブロ
http://sugamasao.hatenablog.com/entry/2017/04/06/231713

どのようにすればmacOSでも(Sierra以降でも)ネットワーク共有したデバイスのIPアドレスを確認できるかについて確認したのでメモします。

概要

macOS 10.12(Sierra)のMacBookProとmacOS 10.13(High Sierra)のMacBookにUSB-LANのアダプタを接続してMacBookのネットワークをRaspberry Piと共有します。
そのときにMacBookからRaspberry Piに割り当てたIPアドレスを確認する方法をConsole.appを使用する方法とTerminal.appを使用する方法の2つで確認しました。

使用したUSB-LANアダプタはBUFFALO社製のLUA3-U2-ATXです。

Console.appを使用する方法

このエントリによれば従来、 /var/log/system.log に書き出されていたログはASL(Apple System Logger)に書き出されており、Console.appから確認できるそうです。

macOS Sierra時代のsyslogとの付き合いかた - すがブロ
/var/log/system.log へ書き込まれないのでした ある調査によると、人間は一日におよそ86400回はsyslogに出力したいと願っているそうです*1。 さて例えばlogger コマンドを使って syslog に出力しておく、なんていうことは稀によくあることではないでしょうか。私は稀によくあります。 とこ...

Console.appはこのアイコンです。デフォルトだとLaunchpadでは「その他」にまとめられています。

実際にConsole.appを起動し、Raspberry PiをMacBookProに接続してインターネット共有を有効にした状態でConsole.appにて「OFFER」で検索すると割り振ったIPアドレスが検出できました。

何度か試しましたがConsole.appを起動前に割り振ったIPアドレスは確認できなさそうです。

Terminal.appを使用する方法

Terminal.appで log コマンドを使う方法です。

こちらのコマンドではコマンド実行後に生成されたログにフィルタをかけてTerminalに出力されます。Ctrl-Cで止めるまで出力され続けます。
挙動としてはConsole.appを使って「OFFER」でフィルタをかけている状態と同じです。

$ log stream --predicate 'processImagePath endswith "bootpd" and eventMessage contains "OFFER"'
Filtering the log data using "processImagePath ENDSWITH "bootpd" AND eventMessage CONTAINS "OFFER""
Timestamp                       Thread     Type        Activity             PID
2018-04-09 00:41:10.969072+0900 0x1891817  Default     0x0                  11345  bootpd: OFFER sent <no hostname> 192.168.2.6 pktsize 300

この方法だと過去3時間分は遡ってログを検索できます。このコマンド実行後に割り振られたIPアドレスについては検索できないので接続後にこのコマンドを実行する必要がありそうです。
--last で指定する時間が長くなれば長くなるほど検索にかかる時間も長くなります。

$ log show --info --debug --predicate 'eventMessage contains "OFFER"' --last 3h
Filtering the log data using "eventMessage CONTAINS "OFFER""
Timestamp                       Thread     Type        Activity             PID
2018-04-09 00:14:36.940021+0900 0x1883198  Default     0x0                  9007   bootpd: OFFER sent <no hostname> 192.168.2.6 pktsize 300
2018-04-09 00:17:00.494934+0900 0x1883198  Default     0x0                  9007   bootpd: OFFER sent <no hostname> 192.168.2.6 pktsize 300
2018-04-09 00:17:53.630751+0900 0x1883198  Default     0x0                  9007   bootpd: OFFER sent <no hostname> 192.168.2.6 pktsize 300
2018-04-09 00:18:07.628747+0900 0x1883198  Default     0x0                  9007   bootpd: OFFER sent <no hostname> 192.168.2.6 pktsize 300
2018-04-09 00:19:59.809333+0900 0x1883198  Default     0x0                  9007   bootpd: OFFER sent <no hostname> 192.168.2.6 pktsize 300
 --------------------------------------------------------------------------------------------------------------------
Log      - Default:          5, Info:                0, Debug:             0, Error:          0, Fault:          0
Activity - Create:           0, Transition:          0, Actions:           0

さらに詳細な log コマンドの使い方についてはTerminalで man log と実行すれば確認できます。

   [ + ]

コメント