モニターを繋いでいないラズパイのIP Addressを知る方法
IP Address
モニターに接続していない状態のRaspberryPiのIP Addressを知る方法についての備忘録。
そもそもどの様な状況の時に上記の事が必要なのかと言うと、
- ラズパイはDHCPからIP Addressが動的に決定されている
- ラズパイの電源ONでネットワークに接続した直後
- ラズパイには別端末(Windowsパソコン)からsshやVNCで接続しようとしている
- 手元にラズパイ用のモニターやキーボードが無い
上記の様な時にラズパイにモニターとキーボード(マウス)を接続してLXTerminalからifconfigコマンドを打てばラズパイのIP Addressが分かるのでsshやVNCで接続する事はできるのだが、手元にモニターが無いと動的に決定されたIP Addressがわからない。
また一度でもWindowsパソコンとラズパイが通信をしていればarpコマンドで一覧が表示されるのだがラズパイをネットワークに接続した直後だとarp -aでもラズパイが表示されないでIP Addressがわからない。

arpコマンド
ARPはAddress Resolution Protocolの略でIP AddressとMACアドレスを関連付けたテーブルを管理している。
標準で最大2分間情報が保持されて、
arp -a
コマンドで接続機器の一覧が表示される。
ただし同一ネットワーク上のみで有効でルーターを越えた先にある端末を表示することは出来ない。
環境
尚、当方の環境は以下の通り。
OS |
Windows10 Home バージョン1903 |
本体 |
DELL G7 15 7588 |
CPU |
CoreTM i7-8750H |
ラズパイを探す
一度でもパソコンとラズパイが通信をすれば良いのでちょっと時間が掛かるが以下のコマンドで片っ端からpingを打つ。
for /l %i in (0,1,255) do ping -w 1 -n 1 192.168.1.%i
192.168.1の部分はネットワーク環境によって変える必要がある。
自分は自宅のプライベートネットワークなので192.168.1を指定した。
pingによりarpテーブルにIP AddressとMACアドレスの登録されるので、
arp -a
コマンドで一覧を表示する。
追加されたラズパイを判断する方法としては事前にarpコマンドを打っておいて差分を比較しても良いが、
- ラズパイ3はb8-27でMACアドレスが始まる
- ラズパイ4はdc-a6でMACアドレスが始まる機器もある
のでMACアドレスから見分ける方法もある。
一連のコマンドをbatファイルにしてfindrasppi.batファイルとして保存した。
for /l %%i in (0,1,255) do ping -w 1 -n 1 192.168.1.%%i
arp -a |find "b8-27"
arp -a |find "dc-a6"
補足説明
batファイル内なので変数(%i)に%を追加している。
findコマンドはlinuxでのgrepに相当するコマンド。
正規表現を使えるfindstrもあるのだが使える正規表現が限られており、文字列のor条件が指定出来ない様なのでfindコマンドをラズパイ3と4を探すために2行に分けている。
尚、batファイルはProgram Files (x86)¥zipフォルダーに保存して環境変数にpathを指定した。
pathの指定方法については以前の記事を参照して欲しい。
実行結果
自宅での実行結果は以下の通り。
ラズパイは2台接続しているので2行表示された。

以上で今回の記事は終了とする。
この記事がどこかで誰かの役に立てば良いと願っている。
最近のコメント