sabato, Dicembre 28, 2024

Analisi di rete programmata

Giovanni Federico
Giovanni Federicohttp://www.giovannifederico.net
Studente di Ingegneria Informatica presso l'Università di Napoli "Federico II". Attualmente impegnato come IT Security Manager presso la web agency NG Soft S.r.l. di Napoli. Da Novembre 2009 esercita inoltre la libera professione di consulenza informatica. Supporter tecnico-commerciale italiano ufficiale per il sistema operativo OpenBSD e CISCO CCNA.

Nota: articolo di proprietà e apparso per la prima volta su OpenSkills.info – http://www.openskills.info
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 !

Articoli correlati

Noleggia una Tesla per il tuo evento ICT!

Categorie