SNGREP: Un visor de paquetes SIP muy especial
En mi humilde opinión, cuando alguien trabaja con servidores de comunicaciones, le interesa que todos los recursos se utilicen o estén orientados y disponibles para satisfacer las necesidades de la tarea dedicada que tiene que realizar. Por ese motivo, un servidor dedicado que ofrece servicio web, correo o incluso un Asterisk o un Kamailio, no es habitual instalar un entorno gráfico.
Debido a esto, siempre he sido un gran fan de las herramientas en modo texto, aquellas que, pese a «simular» un entorno gráfico, utilizan ventanas y colores pero siguen corriendo en un entorno de texto, haciendo uso de las teclas «especiales» como las teclas de función o cursores, para movernos entre las opciones. No sobrecargan el sistema, no ocupan apenas recursos y su funcionalidad es similar a las herramientas gráficas, pero mucho más efectivas desde el punto de vista «tiempo/recursos» además de la necesidad de pelearse con el ratón. Aplicaciones como Midnight Commander (la versión linux del Comandante Norton) para gestionar los archivos del sistema de ficheros, o incluso la típica herramienta «memtest86» para comprobar la memoria RAM son algunos ejemplos de herramientas que funcionan en modo semi-gráfico utilizando la librería «ncurses» y permitiendo ser muy prácticas pero sin perder atractivo.
Centrándonos en VoIP, seguro que todos conocéis una famosísima herramienta llamada Wireshark, una herramienta en modo gráfico que sirve para capturar tráfico de red y verla cómodamente en tu entorno gráfico para analizar las trazas de una comunicación. Similar a esto, pero sin necesidad de entorno gráfico (con lo que podemos ejecutarlas en el mismo sistema dedicado), hay otras herramientas imprescindibles: tshark (la versión ncurses de wireshark), ngrep (otro capturador y visualizador de paquete de datos muy utilizado en todo entorno de VoIP para analizar SIP), incluso seguro que conocéis tcpdump, (una de las primeras herramientas que captura, filtra y visualiza conexiones y trazas de datos), no obstante, acabamos de conocer una gran herramienta que os vamos a presentar y que seguro que formará parte de la lista de herramientas imprescindibles de sistemas VoIP.
Iván Alonso de Irontec nos presenta sngrep, una herramienta similar a ngrep (de hecho, está basada en ella) pero que utiliza ncurses para mostrar el flujo SIP en una consola modo texto, algo que sin duda nos hubiera venido bastante bien a muchos de nosotros desde hace tiempo.
Si, ya se que hay muchas otras herramientas que hacen lo mismo, Homer SIP Capture por poner un ejemplo, pero sngrep me ha gustado mucho más considerando que:
- Es muy fácil de compilar y de instalar
- No tiene casi dependencias y las que hay, seguro que ya están instaladas.
- Apenas consume recursos (importante en toda herramienta de medición)
- Rápida de instalar y ejecutar (no hay que configurar 1000 cosas)
- Software libre
Por este motivo, os animamos a que lo probéis, lo instaléis en vuestro servidor Asterisk y hagáis pruebas, veáis como funciona una traza SIP y compartáis vuestra experiencia buena o mala para seguir mejorándolo.
Tan sencillo como descargarlo, compilarlo y ejecutarlo:
cd /usr/src
git clone git://github.com/irontec/sngrep.git
cd sngrep
./configure && make && make install
sngrep -d any udp and port 5060 and host 192.168.0.1
Una gran herramienta, y desde Sinologic, enhorabuena a Iván y a Irontec por desarrollarlo y publicarlo.