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.


