visitor analysis
Blog

orgogliosamente (10 months ago)

DHCP Monitor ( Linux e MAC )

Quando in una rete (munita anche di accesso Wi-Fi) si comincano ad avere due o più pc sarebbe meglio tenere monitorata la situazione degli IP occupati nella rete, per fare un’analisi su che IP vengono utilizzati. Se poi abbiamo tutti i pc in rete con un IP statico è ancora più semplice scovare qualche potenziale intruso. Facciamola breve. Per realizzare un processo che controlli in automatico la presenza o meno di IP sulla nostra rete, ci servono 3 elementi: uno script, una lista di IP da pingare e il crontab.

Cominciamo con il più semplice: la lista di IP.
Non è altro che un file di testo nel mio caso, in cui c’è l’elenco degli IP che il nostro DHCP può assegnare ad un pc che si connette alla nostra rete (basta inserire per es: 192.168.1.1 fino a 192.168.1.255 )
Io ho creato l’elenco con Excel, il quale permette di creare una lista di numeri progressiva inserendo il primo ed il secondo valore. Trascinando la casella in basso, vi creerà l’elenco progressivo; non dovete fare altro che fermarvi al 255esimo valore, copiarlo ed incollarlo in un file che nel mio caso ho chiamato lista.txt

Script bash

#! /bin/bash
#Costanti
page_html="/home/server/dhcp_status.html"
lista="/home/server/lista.txt"
rm $page_html
echo '' >> $page_html
echo '
DHCP Monitor

' >> $page_html
if [ ! -f $1 ]; then
echo "Il file specificato non esiste"
exit 1
fi

NUM_PACKET=2

for ipaddr in `cat $lista`; do
if ping -c $NUM_PACKET $ipaddr &> /dev/null; then
echo '

'$ipaddr 'ONLINE

' >> $page_html
else
echo '

'$ipaddr 'offline

' >> $page_html
fi
done

MAC OS X riesce ad interpretare gli script sh che girano su linux, proprio perchè al suo interno batte un cuore *nix
Le directory che vedete indicate, sono ovviamente personalizzabili. Le ho inizializzate come costanti, così dovrete modificare solo questa parte:

#Costanti
page_html="/home/server/dhcp_status.html"
lista="/home/server/lista.txt"

Potete collocare lo script dove meglio credete, l’importante è che il file *.sh e il file lista.txt siano nella stessa directory!!

Le altre parti personalizzabili sono queste:

echo '' >> $page_html
echo '
DHCP Monitor

' >> $page_html

echo '
'$ipaddr 'ONLINE

' >> $page_html

echo '

'$ipaddr 'offline

' >> $page_html

Crontab

Una volto collocati i due file visti in precedenza nella medesima directory, dobbiamo impostare il sistema in modo da ripetere il controllo ciclicamente. Per farlo usiamo il crontab, uno strumento utilissimo presente sia su *nix che su MAC OS X
Digitare da terminale
crontab -e

Indipendentemente dall’editor con cui verrà aperto il cron ( con vim, di default su MAC ho litigato un pò, ma dopo due o tre tentativi sono riuscito; dovete richiamare la modalità inserimento premendo ESC) inserite questa riga:

Per *nix
*/10 * * * * /bin/bash PERCORSO_DELLOSCRIPT lista.txt

Per MAC OS X
*/10 * * * * sh PERCORSO_DELLOSCRIPT lista.txt

In questo modo lo script verrà eseguito ogni 10 minuti, più o meno il tempo che impiega a scansionare dal primo all’ultimo IP della lista
fate bene attenzione che lista.txt è un parametro dello script, percui va scritto staccato di uno spazio dal percorso dello script. Nel mio caso avrò:

*/10 * * * * /bin/bash /home/luca/DHCPMONITOR/ipscan.sh lista.txt

Per una dimostrazione potete dare un occhio qui: DEMO

Luca Scalvi - Web designer e sistemista italiano, oltre che sim racer e gamer a tempo perso. Il suo lavoro è l'informatica: ha fondato bloggercrew.com e Bit.uZ. Potete seguire i suoi progetti via Twitter.

1 Commento

  1. [...] 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 [...]

Rispondi

Segui BloggerCrew

Ultime gallerie

 

marzo: 2010
L M M G V S D
« feb   apr »
1234567
891011121314
15161718192021
22232425262728
293031  

Immagini random

Loading...
image IMAG0337.jpg image IMAG0325.jpg image IMAG0335.jpg image IMAG0330.jpg image IMAG0328.jpg

Advertising

Facebook & sicurezza


Facebook & sicurezza nasce per informare gli utenti sui rischi che si celano dietro ad una piattaforma così vasta quale è Facebook. Al giorno d'oggi chiunque abbia un minimo di conoscenze, può creare una pagina di phising per rubare identità altrui e ottenere importanti informazioni personali. Verranno mostrati e spiegati i metodi utilizzati dai lamer per colpire gli utenti meno esperti e quali sono i semplici accorgimenti da applicare per evitare di incappare in queste trappole