Cómo hacer un tap Ethernet pasivo
(blog.lvmbdv.dev)- Para revisar directamente el tráfico en reposo de una smart TV, se replicó un Throwing Star LAN Tap de €39 usando una placa breakout RJ45 y una mini protoboard, en lugar de comprarlo
- Este tap se coloca en línea entre el router y el dispositivo objetivo, y copia la señal a dos puertos de monitoreo, funcionando sin energía, software ni configuración
- J1-J2 se dejan como un cable patch directo de 8 pines, mientras que J3 y J4 envían cada par TX bidireccional al par RX del equipo de monitoreo para observar el tráfico por dirección
- Se colocan 2 capacitores de 220 pF en los pares no usados de los puertos de monitoreo para interferir con la autonegociación Gigabit y bajar el enlace a 100 Mbps, de modo que solo se intercepten los dos pares de 100BASE-TX
- En la prueba con la smart TV se capturaron 2,769 paquetes en 7.5 minutos y un promedio de 14 kbps, manteniendo un enlace de 100 Mbps sin errores CRC, suficiente para funcionar como tap pasivo experimental
Tap Ethernet pasivo hecho con protoboard
- Después de ver el Throwing Star LAN Tap, se quiso comprobar cuánto se comunica una smart TV, pero en vez de pagar €39 se hizo una réplica en mini protoboard
- Un tap Ethernet pasivo es un dispositivo simple en línea que se coloca entre el dispositivo objetivo y el router
- Copia la señal a dos puertos de monitoreo adicionales
- Físicamente no permite reinyectar tráfico
- No requiere energía, software ni configuración
- Los puertos de monitoreo son de solo recepción, así que es menos probable provocar accidentalmente un DoS en la red
-
Cableado y forzado a 100 Mbps
- El tap tiene 4 conectores RJ45
- J1 se conecta a la computadora y J2 al router
- J1 y J2 están conectados pin a pin, por lo que eléctricamente funcionan como un cable patch
- J3 monitorea el tráfico que va de la computadora al router
- El par TX de J1, pines 1 y 2, se envía al par RX de J3, pines 3 y 6
- J4 se encarga del tráfico en la dirección opuesta
- El par TX de J2 se envía al par RX de J4
- Los pines 1 y 2 de J3 y J4 se dejan flotando para que la computadora de monitoreo no pueda transmitir
- 2 capacitores cerámicos de 220 pF puentean los pares no usados de los conectores de monitoreo
- C1 se conecta a los pines 4-5 de J3 y C2 a los pines 7-8 de J4
- Estos capacitores rompen la autonegociación Gigabit en los pares azul y café, haciendo que el enlace baje a 100 Mbps
- Ethernet de 100 Mbps usa solo dos de los cuatro pares, y esta configuración intercepta justamente esos dos pares
- Si se negocia Gigabit, los datos se reparten entre los cuatro pares y este tap se vuelve difícil de observar
Construcción y resultados de captura
- El Throwing Star LAN Tap original usa un PCB personalizado, pero esta versión se compone de 4 placas breakout RJ45, 2 capacitores y una mini protoboard
- La ruta en línea conecta directamente J1-J2 con 8 cables en un lado de la protoboard
- Los taps de monitoreo se derivan de la ruta en línea
- J3 conecta con jumpers desde los pines 1 y 2 de J1 hasta los pines 3 y 6 de J3
- J4 se conecta desde los pines 3 y 6 de J2 hasta los pines 3 y 6 de J4
- Los capacitores puentean directamente los pares no usados de los conectores de monitoreo
- Existía preocupación de que los efectos parásitos de la protoboard degradaran la señal
- 100BASE-TX opera a 125 MHz
- La capacitancia parásita entre filas adyacentes de la protoboard suele ser de 2-5 pF y la impedancia tampoco coincide
- Como los cables en línea son cortos, la señal se mantuvo sin problemas
- Sería difícil usar una protoboard en una red de producción, pero para experimentar con un tap pasivo funciona suficientemente bien
- Se colocó el tap entre la smart TV y el router, y se conectó una desktop al puerto de monitoreo para capturar
- Durante los primeros 7.5 minutos se observaron 2,769 paquetes y un promedio de 14 kbps
- La smart TV en reposo enviaba sobre todo tráfico de control y de descubrimiento de dispositivos
- En menos de 5 minutos, la TV envió 877 paquetes SSDP NOTIFY a
239.255.255.250 - Difundía el mismo servicio y las mismas notificaciones por mDNS tanto en IPv4 como en IPv6
- Un dispositivo inteligente
192.168.3.7en otra subred envió 34 tramas broadcast en ráfaga - El router
192.168.2.254respondía a todo con consultas IGMP
- En el total de 2,769 tramas hubo 0 errores CRC y las luces de enlace se mantuvieron estables a 100 Mbps
- Cuando llegue el adaptador USB Ethernet, también se podrá interceptar tráfico real de una laptop
1 comentarios
Comentarios en Lobste.rs
Si tienes un switch configurable, es bastante probable que admita port mirroring para este tipo de uso.
Si no quieres construirlo tú mismo, esa es la forma más fácil.
Al menos yo no he visto switches administrables de consumo.
El punto central de este tipo de proyecto parece ser la captura, así que me habría gustado que se destacara más la parte de captura de paquetes.
Mi smart TV también genera muchísimo tráfico no deseado en modo de espera, además de mDNS y SSDP.
Como todavía no tengo un adaptador Ethernet USB para la laptop, la configuración de ponerlo entre la desktop y la TV era bastante incómoda.
Cuando llegue el adaptador, creo que escribiré un artículo más interesante enfocado en esa parte.
Una forma más barata y más rudimentaria de hacer lo mismo es usar dos jacks keystone tipo punchdown.
https://janitha.com/articles/passive-splice-network-tap/
Cuando aprendía redes, recuerdo haber aprendido que existían hubs Ethernet configurados para transmitir el lado de envío de cada puerto al lado de recepción de todos los demás puertos.
Me parece que esto estaría más o menos a medio camino.
Claro que nunca he visto en persona un hub tan primitivo. Quizás soy demasiado joven…
Naturalmente son vulnerables a colisiones, así que no son muy confiables.
Nunca he comprado uno, pero vi su interior en este video: https://youtu.be/QgrVVyIzecM?t=266
Me hace sentir viejo ;-)
Después de eso, supongo que el riesgo de colisiones se habría vuelto un problema demasiado grande.