Analizar tráfico VoIP (Arp Spoofing)
Muchas veces necesitamos “ver” el tráfico entre dos dispositivos SIP. Con un HUB es muy sencillo, ya que solo hay que usar que poner la tarjeta de red en modo promiscuo, pero cuando estamos conectados a un switch, se complica (pero no mucho).
Escenario:
- Teléfono IP en 192.168.0.201, registrado directamente en un ITSP (Peoplecall, Azulcom, Telsome, etc, etc)
- Router (Gateway) en 192.168.0.254
- Máqina (linux) desde la que queremos analizar el tráfico: 192.168.0.1
Necesitaremos tener instalados Ethereal (ahora Wireshark), y Ettercap
Si estos 3 dispositivos estuviesen conectados a un HUB, solo tendríamos que ejecutar:
tshark -i eth0 -w captura.log ip host 192.168.0.201
Luego, ya con calma y desde otra máquina incluso, analizaríamos ese fichero de captura.
En cambio, si estamos en un switch, el tráfico entre el teléfono SIP y el router no “llega” a la máquina línux. En estos casos, una buena solución es el Arp Spoofing (en español), que consiste en engañar a ambos dispositivos, haciendoles creer que somos el otro, y luego reenviando los paquetes.
Es muy sencillo de implementar, con Ettercap. Ejecutamos el siguiente comando en un terminal:
echo 1 > /proc/sys/net/ipv4/ip_forward ettercap -o -T -P repoison_arp -M arp:remote /192.168.0.254/ /192.168.0.201/
Es importante activar el ip_forward, ya que de otro modo, los paquetes no se reenviarían a su destino original. Mientras se ejecutar el ettercap, todo el tráfico que exista entre esos dos dispositivos, pasará por nuestra máquina, y podremos capturarlo y analizarlo, con el comando que vimos antes (tshark -i eth0….)
Actualización 11-enero-2007: Hay que activar el ip_forward en nuestra máquina, para que nuestro equipo reenvíe los paquetes a su destinatario real.



[…] Acabo de leer en el blog de Julia JM una buena manera de analizar el tráfico VoIP mediante ARP Spoofing. Lectura recomendada. […]
Pingback by Mi Brain-Training Personal» Blog Archive » Analizando el tráfico VoIP
— 9 January 2007 @ 23:18
Siempre he tendido a usar ettercap con su GUI en ncurses o GTK, pero me parece muy buena idea lanzarlo desde comandos. Muy buen artículo, enhorabuena Julián
Comment by txipi
— 10 January 2007 @ 7:31
Hola Txipi,
en local no hay problema, pero en una sesión X remota, el ethereal es desesperante.
Comment by julianjm
— 10 January 2007 @ 7:53
Gracias a la línea de comandos del “ettercap” pude saber qué estaba hablando un empleado por messenger. Gracias
Comment by Usuario Agradecido
— 22 August 2007 @ 19:45