0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめての記事投稿
Qiita Engineer Festa20242024年7月17日まで開催中!

AndroidのWi-Fiテザリング環境でネットワーク内のデバイスを全て表示したい

Posted at

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の拡張子をつけて保存して実行する.

仕組み/動作

  1. ipconfigコマンドを実行し,実行結果からローカルipとして一般的に使用されている「192.168」を含む行を抜き出す1.これによってipアドレスの3バイト目を知ることができる
  2. ipアドレスの3バイト目を入力させ,変数に保存
  3. wsl上でfpingを実行し,ネットワーク内のデバイスと通信実績を作っておく2
  4. 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 

参考

  1. 一般的な無線LANルーターでは,ローカルipの3バイト目は固定されている(192.168.1.1など).しかし,AndroidのWi-Fiテザリングでは固定されておらずランダム?に変動するためこの手順が必要.

  2. Windowsに搭載されたpingコマンドで多数回のpingを実行しようとすると時間がかかる(1件0.5秒程度で256件なので2分程度)ためfpingコマンドを使用した.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?