ネットワーク(Tenda WiFiルーター)に接続しているときに、Android電話の動的に割り当てられたIPを見つけることになっているバッチファイルを記述しようとしています。
だから私はarp -a
と私の電話のMACアドレスを検索して、テーブルからIPを取得できるようにします。
C:\Users\Leeroy>arp -a
Interface: 192.168.0.100 --- 0xb
Internet Address Physical Address Type
192.168.0.1 c8-3a-35-35-f6-68 dynamic
192.168.0.255 ff-ff-ff-ff-ff-ff static
224.0.0.22 01-00-5e-00-00-16 static
224.0.0.251 01-00-5e-00-00-fb static
224.0.0.252 01-00-5e-00-00-fc static
239.255.255.250 01-00-5e-7f-ff-fa static
255.255.255.255 ff-ff-ff-ff-ff-ff static
問題は、テーブルに表示されないことです!私は試した ping 192.168.0.255
しかし、まだ表示されません。電話のブラウザから192.168.0.100(私のデスクトップPCのIP)を要求してみましたが、それで電話がレーダーに届きました。ただし、arpテーブルに表示するたびに手動で行うオプションはありません。
Android電話をarpテーブルに表示するにはどうすればよいですか(WiFiに接続する以外は何もせずに))
私はこれを試しましたが、動作します:
for /L %N in (1,1,254) do start /b ping -n 1 -w 200 192.168.0.%N
電話機でICMPが有効になっている場合、問題はないはずです。
M.S.Arun's 答えは最高に近い。この問題は、一部の仮想マシンのIPアドレスを取得するときに発生したもので、MACアドレスだけがありました。 M.S. Arunsのような多くの回答がスタックオーバーフローをはじめとしていますが、誰もそれらを説明せず、解決策を正しく説明しません(IMHO)。
すべてのサブネットをpingしてからarpコマンドを実行する手法を試しました。問題は、私のIP範囲に60k以上のIPアドレスがあり、それらすべてをスキャンした後(それほど単純ではなく、startコマンドで非常にい)、arpテーブルの設定が非常に少なかったことです... 「pingを開始」しようとしても。最終的に、キャッシュテーブルであるarpが定期的に自身をフラッシュすることがわかったため、このメソッドはほとんど成功しませんでした。
解決策はすべてのサブネットをpingすることですが、各pingでarpコマンドを実行してIPがMACアドレスと一致するかどうかを確認します。これにより、arpテーブルのキャッシュの性質により情報が失われないようにします。それを適切にするために、これをJavaで実装しました。 isReachable()メソッドは非常にクリーンで、画面のどこにでもcmdプロンプトが表示されません。さらに、IPスキャンの60k +範囲は、Javaスレッドを使用して最大10秒かかります。バッチスクリプトよりも安全な方法だと思います...
threadedScan()method here を参照してください。これはIPの配列を受け取り、MACアドレスを探します。
これが役立つことを願っています;)
MACからIPを検索する場合は、これを実行します
$ arp -n | grep -w -i 'YOUR-MAC' | awk '{print $1}'
YOUR-MACをMACアドレスに置き換え、一重引用符を使用する必要があることに注意してください
ここで、IPからMACアドレスを見つけたい場合は、これを試してください:
$ arp -n | grep -w -i 'YOUR-IP' | awk '{print $3}'
楽しい!
このバッチコードは以下を取得します。
以下のコードをanyname.bat形式で保存して実行してください。結果を別のテキストファイルに出力します。
:: This Windows Batch(CMD) File fetches All the Details of the Nearby PC's of Same VLAN (Upto 254 Host's).
:: Windows OS (CMD)
:: Author : [M.S.Arun][1]
:: #****************************************************************** Start of Script ********************************************************************#
@echo off
title Remote PC Details Fetching Script(PC Name / IP's / Computer Description)
echo. > %cd%\PC_Details_Temp.txt
echo Remote PC Details Fetching Script (PC Name / IP's / Computer Description) details of the Nearby PC's of Same VLAN.(Upto 254 Hosts)
echo.
set /p input_ip="Please Enter the IP Range(Eg:192.168.1) : " && echo
set /p input_ip_start="Please Enter Start IP Range(Eg:1) : " && echo
set /p input_ip_end="Please Enter End IP Range(Eg:254) : " && echo
echo. >> %cd%\PC_Details_Temp.txt
@echo on
for /l %%i in (%input_ip_start%, 1, %input_ip_end%) do nbtstat -a %input_ip%.%%i | findstr /c:"MAC" /c:"<00>" | findstr /c:"MAC" /c:"UNIQUE" >> %cd%\PC_Details_Temp.txt && echo IP Address = %input_ip%.%%i >> %cd%\PC_Details_Temp.txt
@echo off
echo. > %cd%\PC_Details_Logs.txt
echo. > %cd%\PC_Details_Logs.txt
echo This Batch Script fetches All the Details of the Nearby PC's of Same VLAN.(Starting from 1 to 254 Host's) >> %cd%\PC_Details_Logs.txt
echo. >> %cd%\PC_Details_Logs.txt
echo. >> %cd%\PC_Details_Logs.txt
echo PC Host Name: >> %cd%\PC_Details_Logs.txt
find "UNIQUE" PC_Details_Temp.txt >> %cd%\PC_Details_Logs.txt
echo. >> %cd%\PC_Details_Logs.txt
echo PC IP Address: >> %cd%\PC_Details_Logs.txt
find "IP" PC_Details_Temp.txt >> %cd%\PC_Details_Logs.txt
echo. >> %cd%\PC_Details_Logs.txt
echo PC MAC Address: >> %cd%\PC_Details_Logs.txt
find "MAC" PC_Details_Temp.txt >> %cd%\PC_Details_Logs.txt
echo. >> %cd%\PC_Details_Logs.txt
echo PC Seat No's. and Vnet No's: >> %cd%\PC_Details_Logs.txt
echo. >> %cd%\PC_Details_Logs.txt
echo. >> %cd%\PC_Details_Logs.txt
net view /all >> %cd%\PC_Details_Logs.txt
echo. >> %cd%\PC_Details_Logs.txt
echo. >> %cd%\PC_Details_Logs.txt
arp -a >> %cd%\PC_Details_Logs.txt
:: del %cd%\PC_Details_Temp.txt
echo.
echo Completed Successfully..!
echo.
pause
:: #****************************************************************** End of Script ********************************************************************#
これはうまくいくかもしれない
netstat -n
または
ipconfig /all