sngrep, visualizza il traffico SIP in tempo reale

“E come posso controllare senza la torre di controllo?”
dal film L’aereo più pazzo del mondo… sempre più pazzo

Di strumenti per il monitoraggio del traffico dati ce ne sono centinaia, ad iniziare dal famoso tcpdump. Anche per il monitoraggio del traffico VoIP esistono decine di strumenti ma quello che ci presento oggi, sngrep, ha la simpatica caratteristica di mostrare anche il flusso dei messaggi SIP in forma visuale (basato su libreria ncurses, può essere usato anche via SSH senza problemi).

sngrep può essere usato sia per la visualizzazione in tempo reale del traffico che per l’analisi di un file dump in formato pcap, oltre ovviamente a poter essere usato per visualizzare solamente certi tipi di messaggi, come il flag ‘-c‘ per le sole chiamate (INVITE e successivi).

L’installazione di sngrep è piuttosto facile ed è possibile, per i più pigri, aggiungere direttamente il repository ed installare il binario. Personalmente ho preferito fare un clone del respository:

git clone https://github.com/irontec/sngrep.git

e poi seguire le semplici istruzioni di compilazione:

cd sngrep
./bootstrap.sh
./configure --with-openssl --with-pcre --enable-eep
make && make install

Fatto. Semplice, no ?

A questo punto, supponendo ovviamente che abbiate installato sngrep su una macchina dove è presente un server sip (i.e. OpenSIPS) funzionante ed operativo, lanciando il comando inizierete a visualizzare tutto il flusso dei messaggi SIP.

Spostandosi con le frecce sulla tastiera è possibile evidenziare una particolare transazione e, con il tasto INVIO, visualizzare il flusso dei messaggi SIP. Ad esempio:

I messaggi sono ovviamente aggregati per Call-ID.

Eseguendo sngrep -c (con sngrep –help visualizzate tutte le opzioni) saranno visualizzati solamente i dialoghi relativi alle chiamate (INVITE e successivi): comodo se vogliamo avere una panoramica del sistema escludendo tutti gli altri messaggi.

Nel caso il sistema implementi la cifratura TLS over SIP, avendo abilitato in fase di compilazione l’opzione –with-openssl o –with-gnutls, è possibile utilizzare la chiave privata per decodificare i messaggi SIP con l’opzione -k.

Tra le altre cose, premendo F2 è possibile effettuare il salvataggio su file .pcap sia di tutte le transazioni visualizzate che solo di quelle selezionate.

 

 

Michele Pinassi

Nato a Siena nel 1978, dopo aver conseguito il diploma in "Elettronica e Telecomunicazioni" e la laurea in "Storia, Tradizione e Innovazione", attualmente è Responsabile del Sistema telefonico di Ateneo presso l'Università degli Studi di Siena ed esperto di sicurezza informatica nello staff del DPO. Utilizza quasi esclusivamente software libero.

Potrebbero interessarti anche...

Rispondi

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

%d blogger hanno fatto clic su Mi Piace per questo: