|
W H I T E P A P E R |
|
Analisi di rete programmata |
|
Sovente si ha l'esigenza di effettuare un'analisi di un determinato host
protratta nel tempo e soprattutto programmata. Vediamo come realizzare uno script in python che ci permetta di esportare l'output di Nmap in formato html. I requisiti per fare ciò sono: - il portscanner nmap - l'interprete python >= 2.3 - un webserver qualsiasi Il webserver si occuperà di rendere accessibile la nostra pagina html via web mentre cron, tramite il nostro script, genererà la stessa ogni 5 minuti. Lo script: #!/usr/bin/python # Analisi di rete "programmata" # http://openskills.info - by mozako import os PATH = "/var/www/htdocs/" # qui inseriremo il percorso (e solo quello) dove salvare il file html; nel nostro caso /var/www/htdocs/ rappresenta la directory root del web-server Apache. RETE = "192.168.0.102" # L'host da monitorare andrà qui. NMAP = "/usr/bin/nmap -sT " + RETE # qui inseriremo il percorso completo di nmap seguito dalle opzioni per lo scanning scelte (si badi allo spazio finale); in questo caso si è optato per il semplice TCP connect() scan. file = open(PATH + "scan.htm",'w') # apriamo il file dove salvare l'output in scrittura. print >> file, "Network Info<br><hr>" cd = os.popen(NMAP) # startiamo nmap for line in cd.readlines(): file.write(line+ "<br>") file.close() Modifichiamo il file /var/spool/cron/crontabs/root, in maniera da avviare lo script ogni 5 minuti, aggiungendo: */5 * * * * /percorso/scan.py &> /dev/null Se tutto è filato liscio troveremo una pagina .htm accessibile tramite http://nostro_host/scan.htm ed aggiornata ogni 5 minuti. |