graph TD subgraph OT[Red Industrial] PLC["PLC (Controlador)
IP: 192.168.1.10"] <-->|Trafico OT| SW["Switch Gestionado"] SW <-->|Tráfico OT| HMI["Pantalla HMI
IP: 192.168.1.20"] end subgraph IT[Herramientas de Diagnóstico] WS["PC con Wireshark
Modo Promiscuo activo"] end SW -.->|Port Mirroring - Copia SPAN| WS style SW fill:#34495e,color:#fff style WS fill:#2c3e50,stroke:#3498db,stroke-width:2px,color:#fff style PLC fill:#27ae60,color:#fff style HMI fill:#e67e22,color:#fff

1. El Reto de Capturar Tráfico en Redes Conmutadas

En el diagnóstico de averías industriales (UF1793), a veces el ping o los LEDs del switch no son suficientes. Cuando un autómata reporta un "Fallo de bus" intermitente pero la conexión física parece intacta, el técnico de Nivel III debe "abrir el cable" y leer los ceros y unos que viajan por él. Para ello utilizamos analizadores de protocolos como Wireshark. Sin embargo, conectar nuestro portátil a un switch moderno presenta un desafío arquitectónico fundamental.



1.1. El problema del Switch frente al Hub clásico

Antiguamente, las redes utilizaban Hubs (concentradores). Un Hub era eléctricamente básico: cualquier paquete de datos que entraba por un puerto, era repetido como un eco por todos los demás puertos. Esto hacía que capturar tráfico fuera trivial, ya que al conectar un PC, este escuchaba la conversación de toda la fábrica.

Los Switches modernos, por el contrario, son inteligentes. Aprenden qué dirección MAC está conectada a cada puerto. Si el PLC (Puerto 1) envía un paquete Unicast a la HMI (Puerto 2), el switch puentea internamente esos dos puertos y aísla el tráfico del resto de la red. Si conectas tu portátil con Wireshark en el Puerto 3, solo verás un silencio absoluto (roto ocasionalmente por algún paquete de Broadcast de difusión general). La red es supereficiente, pero te ha dejado completamente ciego para el diagnóstico.



1.2. La Solución en Hardware: Port Mirroring (SPAN)

Para poder diagnosticar la comunicación exacta entre el PLC y la HMI, debemos ordenar al switch que nos permita espiar. Esto se logra configurando una función exclusiva de los switches gestionados (Managed Switches) llamada Port Mirroring (Copia de Puerto) o SPAN (Switched Port Analyzer).

  • Puerto Origen (Source Port): Le indicamos al switch qué puerto queremos monitorizar (por ejemplo, el Puerto 1 del PLC). En la configuración, decidimos si queremos copiar el tráfico que entra (Rx), el que sale (Tx) o ambos.
  • Puerto Destino (Destination Port): Le indicamos a qué puerto está conectado nuestro portátil (Puerto 3). El procesador interno del switch hará una copia exacta de cada trama que pase por el puerto origen y la "escupirá" por el puerto destino, sin interrumpir ni retrasar la comunicación original.


1.3. La Solución en Software: El Modo Promiscuo

Una vez configurado el espejo en el switch, el portátil comenzará a recibir miles de paquetes dirigidos a las MACs del PLC y de la HMI. Aquí entra en juego un filtro de la tarjeta de red (NIC) de nuestro ordenador. Por defecto, una tarjeta de red estándar destruye y rechaza automáticamente cualquier paquete cuya dirección MAC de destino no coincida con la suya propia. Es una medida del sistema operativo para no desperdiciar recursos de CPU leyendo tráfico ajeno.

Para que Wireshark pueda leer estos paquetes copiados por el SPAN, debe decirle al sistema operativo que ponga nuestra tarjeta de red en Modo Promiscuo (Promiscuous Mode). Este modo anula el filtro de hardware de la tarjeta, obligándola a capturar absolutamente toda la electricidad que llega por el cable y entregarla al software de análisis, sin importar a quién vaya dirigido el paquete. El Port Mirroring te entrega el paquete, pero sin el Modo Promiscuo tu portátil lo tiraría a la basura.

PORT MIRRORING (SPAN) Y MODO PROMISCUO SWITCH INDUSTRIAL GESTIONADO Port 1 (Src) Port 2 Port 3 (Dst) PLC HMI WIRESHARK Modo Promiscuo Tráfico Unicast Copia SPAN
Figura 1: Arquitectura de Port Mirroring. El switch copia silenciosamente todas las tramas Unicast que viajan entre el Puerto 1 y el Puerto 2, y las envía hacia el Puerto 3. La tarjeta de red del PC, operando en Modo Promiscuo, captura estas tramas ajenas permitiendo a Wireshark diseccionar la comunicación sin afectar a la latencia de la máquina.
Fuente: Elaboración Propia. Licencia: CC BY-SA 4.0.

🎥 Formación Técnica: Análisis de Tráfico con Wireshark en Entornos OT

Descubre cómo utilizar Wireshark para capturar paquetes en una red industrial. Aprende a configurar un "Port Mirroring" en un switch y a aplicar filtros básicos para depurar comunicaciones de PLC.

▶ Ver Tutorial de Wireshark en YouTube

📝 Evaluación Técnica de Análisis de Tráfico

1. Un técnico conecta su portátil con Wireshark a un puerto libre del Switch industrial principal para capturar la comunicación entre el PLC y la HMI. Sin embargo, en la pantalla solo ve tráfico Broadcast (ARP) y no ve los paquetes Modbus entre los dos equipos. ¿A qué se debe esto?

2. ¿Qué filtro aplicarías en la barra de visualización de Wireshark si deseas aislar y visualizar ÚNICAMENTE las tramas que entran o salen de un PLC cuya dirección IP es 192.168.0.50?

3. Durante la captura de red de una máquina que está fallando por excesiva lentitud, observas en Wireshark un volumen masivo y continuo de paquetes de tipo "ARP Request" buscando direcciones IP inexistentes. ¿Qué podría estar ocurriendo en la Capa Física o de Enlace?

🤖 Ejercicio Práctico 4: Sniffer de Red Básico en Python

Objetivo: Crear un pequeño script en Python que emule las funciones básicas de Wireshark para interceptar tráfico de control Modbus (Puerto 502) usando la librería `scapy`.

Copia el siguiente *prompt* y pégalo en un modelo de IA (como ChatGPT, Gemini o Claude). Analiza el código resultante y descubre cómo se programa un analizador de paquetes.

"Actúa como un experto en ciberseguridad industrial y programador de Python. Escribe un script utilizando la librería `scapy` que funcione como un 'Sniffer' (capturador de paquetes) de red. El script debe: 1. Capturar el tráfico de red de forma continua en una interfaz cualquiera. 2. Aplicar un filtro BPF (Berkeley Packet Filter) para capturar ÚNICAMENTE el tráfico TCP que viaje por el puerto 502 (Modbus TCP). 3. Cada vez que detecte un paquete, debe imprimir un mensaje en consola mostrando la IP de Origen (IP.src) y la IP de Destino (IP.dst). 4. Comenta detalladamente el código en español y añade una advertencia ética sobre por qué los sniffers deben usarse solo con autorización o en entornos de laboratorio."

Análisis de la respuesta esperada: La IA generará un script utilizando la poderosa función sniff(filter="tcp port 502") de scapy. Este ejercicio te demuestra que Wireshark no hace magia; simplemente lee los datos eléctricos crudos que llegan a la tarjeta de red (que ha sido puesta en Modo Promiscuo) y aplica la disección de los campos IP y TCP. Entender esto es el primer paso hacia el diagnóstico avanzado de averías y la ciberseguridad OT.