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:
DHCP Monitor per Windows [ Link ] ZIP (1,2 Kb)
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
THE END