Usare libpcap con Perl

A lavoro abbiamo pubblicato sul nostro server di demo una applicazione che deve essere testata in remoto da un cliente.

Il boss mi ha espressamente chiesto di poter tracciare l’utilizzo della demo da parte del cliente.

Ho realizzato uno script perl molto semplice basato sull’uso delle libpcap (quelle di tcpdump), che rimane in ascolto sniffando su una interfaccia del server, alla ricerca di pacchetti che matchano con una filter rule definita (come quelle di tcpdump). Quando c’e’ del traffico invia una email a una lista di destinatari.

Lo script e’ basato su un file di configurazione che e’ fatto cosi’:

listen_interface = eth0
email_from = sysadmins@spmc.mobi
email_to = "mvoalarm@spmc.mobi"
smtp_server = mail.spmc.mobi
filter_name = "A browser connected to Tomcat!"
filter_rule = "tcp dst port 8080 and dst host 192.168.1.12"
notification_period = 300

Il tar.gz con lo script e il file di configurazione e’ qui.

Ovviamente le cose che si possono fare su questa base sono tantissime, pensate a firewall totalmente blindati che a seconda di certi pattern catturati sulla interfaccia di rete aprono porte, esguono particolari comandi, etc, etc…

Il sorgente del programma e’ qui

Comments Posted in Informatica, Lavoro, Programmazione, Software