モニターを繋いでいないラズパイのIP Addressをパソコンから知る方法 | そう備忘録

モニターを繋いでいないラズパイのIP Addressをパソコンから知る方法

IP Address

モニターに接続していない状態のRaspberryPiのIP Addressを知る方法についての備忘録。

そもそもどの様な状況の時に上記の事が必要なのかと言うと、

  • ラズパイはDHCPからIP Addressが動的に決定されている(どのIP Addressが割り当てられたか分からない)
  • ラズパイの電源ONでネットワークに接続した直後
  • ラズパイには別端末(Windowsパソコン)からsshやVNCで接続しようとしている
  • 手元にラズパイ用のモニターやキーボードが無い

上記の様な時にラズパイにモニターとキーボード(マウス)を接続して LXTerminal から ifconfig コマンドを打てばラズパイの IP Address が分かるので ssh や VNC で接続する事はできるのだが、手元にモニターが無いと動的に決定された IP Address がわからない。

また一度でも Windowsパソコンとラズパイが通信をしていれば arp コマンドで一覧が表示されるのだがラズパイをネットワークに接続した直後だと arp -a でもラズパイが表示されないので IP Address がわからない。

ディスプレイに接続していないラズパイの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を打つ。

%i の部分が 0 から順番に 255 まで 1 ずつインクリメント(加算)されて 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行表示された。

実行結果

以上で今回の記事は終了とする。

最後に

この記事が何処かで誰かの役に立つことを願っている。

尚、当記事中の商品へのリンクはAmazonアソシエイトへのリンクが含まれています。Amazonのアソシエイトとして、当メディアは適格販売により収入を得ていますのでご了承ください。

souichirou

やった事を忘れない為の備忘録 同じような事をやりたい人の参考になればと思ってブログにしてます。 主にレゴ、AWS(Amazon Web Services)、WordPress、Deep Learning、RaspberryPiに関するブログを書いています。 仕事では工場に協働ロボットの導入や中小企業へのAI/IoT導入のアドバイザーをやっています。 2019年7月にJDLA(一般社団法人 日本デイープラーニング協会)Deep Learning for GENERALに合格しました。 質問は記事一番下にあるコメントかメニュー上部の問い合わせからお願いします。

おすすめ

質問やコメントや励ましの言葉などを残す

名前、メール、サイト欄は任意です。
またメールアドレスは公開されません。