WindowsでLAN内の端末をスキャンするバッチファイル

IT

WindowsでLAN内の端末をスキャンして表示するバッチファイルを作りました。

専用ソフトがいらないので楽かなと思います。

使い方は、テキストファイルを作成し、下記プログラムをコピペして保存、ダブルクリックで実行するだけです。

バッチファイルは、文字コードをShift-JIS(ANSI)にする必要があります。

保存する際にUTF-8にならないよう気をつけてください。

lan_scan.bat

@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
view raw lan_scan.bat hosted with ❤ by GitHub

バッチファイルをダブルクリックして実行すると、下記にように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

完了しました。

続行するには何かキーを押してください . . .

コメント

タイトルとURLをコピーしました