Monitoring del traffico di rete su server remoto con Wireshark

Per chi ama la comodità dell’interfaccia grafica di Wireshark, con la quale si può non solo verificare in tempo reale il traffico di rete ma anche impostare filtri dinamici e tutta una nutrita serie di funzioni, possono esserci problemi quando si tratta di dover monitorare il traffico su server remoti dove non vi è interfaccia grafica.

Fortunatamente, grazie ad ssh (Secure SHell) ed ai “pipe”, è possibile eseguire Wireshark sulla nostra macchina “sniffando” il traffico di rete su un server remoto.

[sociallocker]

wireshark_remote_diagram

Il tutorial completo ed “ufficiale” è disponibile, in inglese, a questa pagina: https://wiki.wireshark.org/CaptureSetup/Pipes

Come prima cosa verifichiamo di avere dumpcap (parte di Wireshark) ed il server ssh installato sul server remoto. Nel caso, possiamo installare entrambi con:

sudo apt-get install wireshark openssh-server

una volta installati e verificato che la connessione ssh dal nostro pc al server funziona correttamente, possiamo creare la nostra “pipe” locale aprendo un terminale e digitando il comando:

mkfifo /tmp/sharkfin
Wireshark in attesa di ricevere dati dalla pipe

e successivamente lanciare Wireshark indicando a riga di comando di attendere l’input dalla nostra “pipe” FIFO (First In First Out – “il primo che arriva è il primo che esce”):

wireshark -k -i /tmp/sharkfin &

La ‘&’ a fine comando indica di restituire il controllo alla consolle senza attendere il termine dell’esecuzione, così da permetterci di aprire il tunnel ssh con il server remoto senza dover aprire una ulteriore shell:

ssh [utente]@[ip server remoto] "dumpcap -P -i [interfaccia] -w - -f 'not tcp port 22'" > /tmp/sharkfin

Questo comando apre una connessione SSH con il server [ip server remoto] usando il nome utente [utente] ed eseguendo, sempre sul server remoto, il comando “dumpcap -P -i [interfaccia] -w – -f ‘not tcp port 22’“: il filtro -f ‘not tcp port 22’ esclude dal monitoraggio il traffico ssh, evitando un antipatico loop.

wireshark_remote_flow

Nella consolle saranno visualizzate alcune informazioni:

Capturing on eth1
File: -
Packets: 1645

mentre il nostro Wireshark visualizzerà tutti i frame catturati sull’interfaccia [interfaccia] del server remoto. Per interrompere il monitoraggio potete premere Ctrl-C in consolle e, se volete, cancellare la pipe con un semplice ‘rm /tmp/sharkfin‘.

[/sociallocker]

 

Questo articolo è stato visto 266 volte (Oggi 1 visite)

Hai trovato utile questo articolo?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.