DHCP Monitor anche per Windows

18 Maggio 2010

DHCP Monitor è un semplice script che fa un report degli IP utilizzati all'interno di una rete privata. In questo articolo ho descritto il funzionamento e postato lo script bash, funzionante sia su Linux che su MAC OS X. Questo script batch invece funziona solo ed esclusivamente su Windows, con alcuni limiti: per adesso l'avvio e l'esecuzione devono essere effettuati manualmente e la formattazione dell'output non è delle migliori, in quanto i tag HTML vengono male interpretati dal linguaggio batch; vengono visti come operatori di input/output da file, una roba brutta insomma :D. Lo script come detto è scritto in batch e per funzionare richiede poche accortezze: - Il file ip.txt, che contiene la lista degli ip da pingare, deve essere nella stessa directory del file DHCP_monitor.bat - Verificare che gli IP della lista corrispondano agli indirizzi assegnabili dal vostro DHCP (ho messo 192.168.0.xxx , ma potrebbe anche essere 192.168.1.xxx, dove xxx è un numero da 1 a 255) A fine post trovate il link per il download. Una volta piazzati i due file in una cartella che potete chiamare come vi pare, non vi resta che lanciare il file .bat, il quale genererà un report HTML della situazione degli IP all'interno della vostra rete. Ecco il codice:
echo off

cls

echo.



echo Controllo files...

if NOT EXIST ip.txt echo ip.txt NON PRESENTE! && goto :eof

if EXIST pingstat.txt del pingstat.txt

if EXIST dhcp.html del dhcp.html

echo.

echo ip.txt Esiste, inizio verifica...

for /f "tokens=1 delims=:" %%a in ('findstr /N /R "." ip.txt') do set count=%%a

echo.

echo Ci sono %count% computer da controllare.

echo.

echo Inizio il Processo di Ping...

echo -----------------------------

echo.

for /f "tokens=*" %%a in (ip.txt) do (

echo Ping %%a

for /f "tokens=1" %%z in ('ping %%a -n 1 -w 500 ^| find /i /c "Risposta"') do echo %%a %%z >> pingstat.txt)

echo.

echo Processo di Ping Completato...

echo.

echo Inizio Verifica Risultati...

echo ----------------------------

echo.

for /f "tokens=1,2 delims= " %%a in (pingstat.txt) do (

if "%%b" GEQ "1" (echo %%a is "Online
" >> dhcp.html) if "%%b"=="0" (echo %%a is Offline"
" >> dhcp.html)) echo Verifica Completata... echo. cmd /C dhcp.html :end

Download


DHCP Monitor per Windows [ Link ] ZIP (1,2 Kb)



X
THE END