"Después del juego es antes del juego"
Sepp Herberger

jueves, 19 de junio de 2025

Captura de tráfico de red sin tener gestión de los switchs.

Ultimamente para ciertas cosas (husmeo de tráfico SNMP y RTP de chismes de los que no consigo documentación alguna) he tenido que hacer capturas del tráfico de red. Si tuviera el control de mis switchs podría hacer port mirroring, pero por desgracia en la red educativa no tengo esa opción.

La otra solución es hacer newtork tap: interponer un dispositivo (por ejemplo un portátil, una Raspberry Pi o un chisme diseñado para capturar tráfico de red) en la boca del switch que quiero monitorizar y capturar todo el tráfico que por alli pasa.

Para poder interponerlo necesitamos que el dispositivo tenga dos tarjetas de red, una para conectar a la boca del switch otra para conectar el cable que originalmente iba conectado a ella. Como lo de tener dos tarjetas de red en un portátil no es muy normal (de hecho hoy en dia los hay que vienen sin conexion ethernet) lo que hacemos es usar adaptadores USB-RJ45, que nos dan un puerto de red ethernet a partir de un puerto USB. Veamos un esquema generado por IA:


Otra opción posible es interponerlo no entre una boca del switch y la red, sino entre la boca de red de un dispositivo que queramos espiar (un PC, una impresora, etc) y el resto de la red.

Una vez tenemos la conexión hay que configuar la máquina. El truco está en crear un bridge por software entre ambas tarjetas de red, darle una IP de nuestra red al bridge y capturar el tráfico de red sobre él. De esta manera, todo el tráfico de red que salga de ese puerto del switch pasará por el bridge y será capturado:
# ip link add name br0 type bridge
# ip link set eno1 master br0
# ip link set eno2 master br0
# ip link set eno1 up
# ip link set eno2 up
# ip link set br0 up
# ifconfig br0 192.168.1.5 up
Simplemente cambiamos eno1, eno2 y 192.168.1.5 por los nombres adecuados y la IP que queramos poner. Luego solo queda capturar:
# tcpdump -i br0 -w captura.pcap
Con esta orden se capturará todo el tráfico que pase por la conexión donde hemos interpuesto el dispositivo. Ese fichero .pcap podremos luego abrirlo con wireshark y husmear dentro. Por supuesto, podemos poner filtros en la captura usando los parámetros de tcpdump, tipo:
# tcpdump -i br0  src host 192.168.1.100 and \( tcp or udp \)  -w captura.pcap
Para finalizar, el uso de tcpdump es solo una posibilidad, hay otras muchas opciones de captura de tráfico para que cada cual elija la que más coraje le dé. Bueno, pues con esto podremos monitorizar de forma transparente la actividad en un punto de nuestra red.

No hay comentarios:

Publicar un comentario