【バッチファイル】【ネットワークスキャン】自ネットワーク内のPCの稼働確認をする

サンプルプログラム概要

自ネットワークの各IPアドレスに対しpingコマンドし、ARPテーブルに登録された稼働中のPCの情報を参照し標準出力する(=ネットワークスキャンをする)

なお、
・プログラムを実行したPCの情報は標準出力されない

なお、
・WIFIルーターの情報は標準出力される
・アマゾンFire Stick TVの情報は標準出力される

サンプルプログラム詳細

1.自ネットワークのIPアドレス(末尾0~255)に対しpingコマンドを実行

2.pingコマンドの内部でARPコマンドが実行される

3.ARPコマンドにより、稼働中の場合は対象IPアドレスに紐づいたMACアドレスが
  ARPテーブルへ登録される

4.ARPテーブルを参照することにより稼働しているPCを把握する

サンプルプログラム

@echo off

REM 自ネットワーク内を設定 ※環境に合わせて設定する
set myNetWork=192.168.XXX.

REM 出力フォルダ名を設定
set outputFolder=output

REM 出力ファイル名を設定
set outputFile=arp.log

REM カレントフォルダ配下に出力フォルダが存在している場合は削除
if exist %~dp0%outputFolder%\ (
	rmdir /s /q %~dp0%outputFolder%\
	echo %~dp0%outputFolder%\を削除しました
)

REM カレントフォルダ配下にoutputフォルダを作成
mkdir %~dp0%outputFolder%\ 
echo %~dp0%outputFolder%\を作成しました
echo;

REM 開始日時を出力
set dateTime=%date% %time%
echo **********%dateTime:~0,19% 自ネットワーク内のPC255台の稼働確認 開始**********

REM 自ネットワーク内のPCの稼働確認を実施 ※pingコマンドとarpコマンドの実行
for /l %%i in (0,1,255) do (
	ping -w 1 -n 1 %myNetWork%%%i > nul && arp -a %myNetWork%%%i >> %~dp0%outputFolder%\%outputFile%
	
	REM 稼働確認を実施したIPアドレスの末尾を出力
	set /p X=%%i,<NUL
)

echo;

REM 終了日時を出力
set dateTime=%date% %time%
echo **********%dateTime:~0,19% 自ネットワーク内のPC255台の稼働確認 終了**********
echo;

REM 稼働しているのPCを標準出力
echo ●稼働中のPCのIPアドレスとMACアドレス一覧
findstr 動的 %~dp0%outputFolder%\%outputFile%
echo;

REM 後片付け
rmdir /s /q %~dp0%outputFolder%\
echo %~dp0%outputFolder%\を削除しました

pause

結果

C:\Users\user\Desktop\temp\output\を作成しました

**********2020/02/15 10:25:51 自ネットワーク内のPC255台の稼働確認 開始**********
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,
61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,
90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,
114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,
136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,
158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,
180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,
202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,
246,247,248,249,250,251,252,253,254,255,
**********2020/02/15 10:27:58 自ネットワーク内のPC255台の稼働確認 終了**********

●稼働中のPCのIPアドレスとMACアドレス一覧
  192.168.179.1         6c-e4-da-1d-84-7c     動的
  192.168.179.6         68-db-f5-d4-d8-11     動的

C:\Users\user\Desktop\temp\output\を削除しました
続行するには何かキーを押してください . . .
タイトルとURLをコピーしました