AndroidのWi-Fiテザリング環境では, 特定のデバイスに割り当てられるプライベートipアドレスを固定することは(おそらく)できない. そのため,Wi-Fi経由でRaspberry Pi等のデバイスにSSH接続したいときはipアドレスを突き止める必要がある.
準備
Windows Subsystem for Linuxを使用できるようにして,「fping」をインストールしておく.
sudo apt install fping -y
スクリプト
showNetworkDevices.bat
@echo off
ipconfig | findstr 192.168
SET adress=
SET /P adress="入力してください:"
wsl fping -s -g 192.168.%adress%.0 192.168.%adress%.255> nul 2>&1
arp -a | findstr 192.168
pause
任意のフォルダに.batの拡張子をつけて保存して実行する.
仕組み/動作
- ipconfigコマンドを実行し,実行結果からローカルipとして一般的に使用されている「192.168」を含む行を抜き出す1.これによってipアドレスの3バイト目を知ることができる
- ipアドレスの3バイト目を入力させ,変数に保存
- wsl上でfpingを実行し,ネットワーク内のデバイスと通信実績を作っておく2
- arpコマンドを使用してネットワーク内のデバイスを一覧表示させ,「192.168」を含む行のみ表示させる
実行例
C:\hoge>showNetworkDevices.bat
IPv4 Address. . . . . . . . . . . : 192.168.76.226
Default Gateway . . . . . . . . . : 192.168.76.127
入力してください:76
Interface: 192.168.76.226 --- 0xa
192.168.76.76 dc-a6-32-70-dc-4c dynamic
192.168.76.127 ea-86-c5-31-38-f9 dynamic
192.168.76.255 ff-ff-ff-ff-ff-ff static
参考