Come monitorare il traffico di rete con ntopng e Raspberry Pi

Cos'è ntopng e come può essere installato su Raspberry Pi per monitorare il traffico di rete.
Come monitorare il traffico di rete con ntopng e Raspberry Pi

Avete la necessità di controllare quali dispositivi collegati al router dell’azienda o dell’ufficio stanno occupando in maniera più incisiva la banda di rete? Volete sapere quali tipologie di comunicazioni sono predominanti e quali sono gli indirizzi IP con i quali vengono scambiati dati più di frequente?

Nell’articolo Velocità connessione insoddisfacente: come viene usata la banda abbiamo visto come monitorare il traffico di rete usando una macchina virtuale Kali Linux con Virtualbox e il software di packet sniffing WireShark.

Un’ottima alternativa che vi presentiamo questa volta si chiama Ntopng. Si tratta di un progetto che nasce lontano nel tempo ma molto vicino dal punto di vista geografico. Ntopng, software per il monitoraggio del traffico sulla rete, nasce presso il Dipartimento di Informatica dell’Università di Pisa.

Ntopng viene offerto in varie versioni: quelle a pagamento permettono di fruire di funzionalità di filtro evolute che permettono di limitare la banda a seconda della tipologia di traffico. Si possono ad esempio controllare decine di applicazioni e bloccare o ridurre l’accesso a Facebook, YouTube, WhatsApp e così via.
Una tabella comparativa che riassume le differenze tra le varie versioni è disponibile in questa pagina (paragrafo Available versions).

A questo indirizzo si possono trovare le varie versioni di Ntopng per Linux, Windows, macOS e Raspberry Raspbian.

Proprio su una Raspberry Pi collegata al router o allo switch di rete mediante una porta Ethernet installeremo Ntopng.
Il vantaggio di questa soluzione è evidente: Raspberry Pi è un single-board computer che deve essere esclusivamente alimentato e connesso alla rete ma che non necessita neppure di mantenere collegati monitor, mouse e tastiera (Raspberry Pi 4: come usarla senza monitor e tastiera), non fa rumore (non dispone di componenti attivi per la dissipazione del calore) e vanta dimensioni pari a quelle di una carta di credito.

L’importante è disporre di un router o di uno switch che consentano di attivare il mirroring delle porte: in questo modo si potrà girare tutto il traffico di rete in transito da e verso i client collegati in LAN alla Raspberry Pi con Ntopng installato.

I router basati su firmware custom come DD-WRT, OpenWRT e Tomato consentono di abilitare la funzionalità port mirroring ma la stessa possibilità è attivabile su alcuni router di fascia medio-alta oltre che, come accennato, su alcuni switch professionali.
Di solito effettuando il login via Telnet sul router è possibile usare il gestore di pacchetti okpg per installare il modulo iptables-mod-tee:

opkg update
opkg install iptables-mod-tee

Con i comandi che seguono è possibile attivare il mirroring di tutto il traffico di rete verso l’IP privato assegnato in modo statico alla Raspberry Pi:

iptables -t mangle -A PREROUTING -j TEE --gateway indirizzo_ip
iptables -t mangle -A POSTROUTING -j TEE --gateway indirizzo_ip

Al posto di indirizzo_ip si dovrà indicare l’indirizzo IP statico assegnato in precedenza alla Raspberry Pi collegata in rete locale.

Nel caso in cui, successivamente, si volesse disattivare il port mirroring (ad esempio quando la Raspberry Pi non fosse connessa alla rete o Ntopng non risultasse in esecuzione), si dovrà eseguire il comando seguente sul router:

iptables -F -t mangle

Installazione e configurazione di Ntopng sulla Raspberry Pi

L’installazione del software Ntopng dalla finestra del terminale della Raspberry Pi si concretizza semplicemente digitando in sequenza i comandi che seguono:

wget https://packages.ntop.org/RaspberryPI/apt-ntop_1.0.190416-469_all.deb
sudo dpkg -i apt-ntop_1.0.190416-469_all.deb
sudo apt update && sudo apt -y upgrade
sudo apt-get install ntopng nprobe n2n -y

Per impostazione predefinita, Ntopng si installerà automaticamente nell’edizione Enterprise che – in assenza di una licenza valida – scadrà dopo pochi minuti.
Per trasformare l’installazione di Ntopng nell’edizione Community basta digitare sudo nano /etc/ntopng/ntopng.conf, scorrere il file di configurazione fino in fondo quindi aggiungervi --community.

Per salvare la modifica e chiudere l’editor si dovranno usare le combinazioni di tasti CTRL+O e CTRL+X.

Digitando http://indirizzo_ip:3000 nella barra degli indirizzi del browser di un qualunque dispositivo collegato in rete locale, si potrà accedere all’interfaccia di Ntopng.

Se si sarà correttamente gestito il port monitoring da router o switch, Ntopng mostrerà immediatamente quali dispositivi connessi in rete locale stanno trasferendo il maggior quantitativo di dati in download e in upload.
Tutti i dispositivi saranno oggetto di monitoraggio, sia quelli connessi via cavo Ethernet che via WiFi.

Agendo sulla configurazione dei flussi è possibile impostare eventuali allarmi per informare l’amministratore, ad esempio, sull’utilizzo di server DNS, SMTP, NTP e DHCP diversi rispetto a quelli impostati.

Ti consigliamo anche

Link copiato negli appunti