WindowsでLAN内の端末をスキャンして表示するバッチファイルを作りました。
専用ソフトがいらないので楽かなと思います。
使い方は、テキストファイルを作成し、下記プログラムをコピペして保存、ダブルクリックで実行するだけです。
バッチファイルは、文字コードをShift-JIS(ANSI)にする必要があります。
保存する際にUTF-8にならないよう気をつけてください。
lan_scan.bat
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@echo off | |
REM LAN内の端末を探索するバッチ | |
REM 動作確認OS: Windows10 | |
REM ※サブネットマスク/24のみに対応 | |
setlocal enabledelayedexpansion | |
REM サブネットを確認 | |
for /f "tokens=1,2,3 usebackq delims=^:" %%i in (`ipconfig ^| findstr /n /r "." ^| findstr /r "IPv4"`) do ( | |
for /f "tokens=1,2 usebackq delims= " %%l in (`echo a%%k`) do @set IP=%%m | |
goto :break | |
) | |
:break | |
for /f "tokens=1,2,3 usebackq delims=^." %%i in (`echo %IP%`) do @set nw=%%i.%%j.%%k | |
REM ネットワーク探索実行 | |
REM LAN内の全IPにPing実行し、ARPでIPに対応するMACアドレスを取得、MACアドレスからベンダーを検索して結果を表示する。 | |
echo. | |
echo ネットワークを探索中です。 | |
echo 完了まで数分かかります。 | |
echo. | |
for /l %%i in (0,1,254) do ( | |
if %IP%==%nw%.%%i ( | |
echo %IP% ^(本端末^) | |
) else ( | |
ping -w 1 -n 1 %nw%.%%i >nul | |
for /f "tokens=1,2 usebackq delims= " %%j in (`arp -a %nw%.%%i ^| findstr "..\-..\-..\-..\-..\-.."`) do ( | |
for /f "usebackq delims=^." %%l in (`curl -s http://api.macvendors.com/%%k`) do timeout /t 2 > nul && echo %%j %%l | |
) | |
) | |
) | |
echo. | |
echo 完了しました。 | |
echo. | |
pause |
バッチファイルをダブルクリックして実行すると、下記にようにIPアドレスと端末のメーカーが表示されます。
(端末によっては、一部エラーが表示されることもあります)
ネットワークを探索中です。
完了まで数分かかります。
192.168.1.1 NEC Platforms, Ltd
192.168.1.4 Espressif Inc
192.168.1.5 Espressif Inc
192.168.1.7 Google, Inc
192.168.1.9 Google, Inc
192.168.1.11 Apple, Inc
192.168.1.14 Toshiba
192.168.1.15 {"errors":{"detail":"Not Found"}}
192.168.1.18 Intel Corporate
192.168.1.101 BUFFALO
192.168.1.102 (本端末)
192.168.1.103 Raspberry Pi Foundation
完了しました。
続行するには何かキーを押してください . . .
コメント