graph TD subgraph Escaneo ["Herramientas de Ingeniería"] PC["PC de Mantenimiento
Advanced IP Scanner / PRONETA"] end subgraph Red_Planta ["Red de Automatización"] P1["PLC Siemens
IP: 192.168.0.10
MAC: 00:1B:1B."] P2["Variador Danfoss
IP: 192.168.0.20
MAC: 00:1C:2A."] P3["Equipo Nuevo (Sin IP)
MAC: 00:0A:8D."] end PC -. Ping ARP Request Broadcast .-> P1 PC -. Ping ARP Request Broadcast .-> P2 P1 -->|ARP Reply| PC P2 -->|ARP Reply| PC PC -. PROFINET DCP Identify .-> P3 P3 -->|DCP Response| PC style PC fill:#2c3e50,color:#fff style P1 fill:#27ae60,color:#fff style P2 fill:#27ae60,color:#fff style P3 fill:#e67e22,color:#fff

1. El Eslabón Perdido: El Protocolo ARP

A lo largo de la UF1794 hemos estudiado las direcciones IP (Capa 3) y las direcciones MAC (Capa 2). Sin embargo, cuando un SCADA quiere enviar una orden al PLC 192.168.1.50, el switch no entiende de IPs, solo entiende de direcciones MAC. ¿Cómo sabe el SCADA qué MAC física corresponde a esa IP lógica? Aquí entra en juego el pegamento de las redes de área local: el Protocolo ARP (Address Resolution Protocol).

Cuando un equipo no conoce la MAC de su destino, envía un ARP Request a la dirección de Broadcast (FF:FF:FF:FF:FF:FF), gritando literalmente a toda la fábrica: "¿Quién tiene la IP 192.168.1.50? ¡Dime tu MAC!". El equipo que posee esa IP responde con un ARP Reply directo al emisor: "Yo la tengo, mi MAC es 00:1B:1B.". El emisor guarda esta relación en su "Tabla ARP" temporal para no tener que volver a preguntar. Este mecanismo es brillante, pero es el origen de muchos quebraderos de cabeza.



2. Diagnóstico de un Conflicto de IP

En el entorno OT, como la asignación DHCP está desaconsejada, los técnicos configuran las IPs estáticamente a mano. Si un técnico comete un error tipográfico y asigna a un variador nuevo la misma IP que ya tiene el PLC principal, hemos creado un Conflicto de IP.

Técnicamente, lo que ocurre es que cuando el SCADA grita "¿Quién tiene la IP .50?", recibe dos ARP Replies simultáneos con dos direcciones MAC distintas. La tabla ARP del SCADA y las tablas de conmutación del switch se vuelven locas, sobrescribiendo la ruta constantemente. El tráfico (y los comandos de movimiento) se dividen aleatoriamente entre los dos equipos, provocando que la máquina actúe de forma errática y peligrosa. Detectar un "MAC Flapping" (una IP saltando entre dos puertos del switch) es el síntoma definitivo de un conflicto IP.



3. Herramientas de Descubrimiento de Red (Capa 3)

Cuando un técnico se conecta a una máquina desconocida, su primer trabajo es levantar un mapa de lo que hay conectado. Para ello no va abriendo armarios uno por uno; utiliza software de escaneo:

  • Advanced IP Scanner / Angry IP Scanner: Son las herramientas más rápidas del mercado. Hacen un "Ping Sweep" masivo (envían cientos de pings en paralelo a todo el rango de una subred, por ejemplo 192.168.1.1 a 254). Recogen las respuestas, extraen las direcciones MAC mediante ARP y, consultando los 3 primeros bytes de la MAC (OUI), te dicen exactamente qué fabricante es cada equipo.
  • Nmap: Es la herramienta de seguridad por excelencia. No solo te dice quién está en la red, sino que sondea los puertos abiertos de cada máquina (Capa 4), determinando si tienen un servidor Web encendido, puertos Modbus abiertos, o vulnerabilidades expuestas.


4. El Problema de los Equipos Nuevos: Descubrimiento L2 (DCP)

Las herramientas como Angry IP Scanner tienen una limitación fatal: operan en la Capa 3. Necesitan que el equipo ya tenga una IP asignada para poder hacerle ping. ¿Qué ocurre cuando sacas un PLC Siemens o un módulo ET200 totalmente nuevo de su caja? Viene con IP 0.0.0.0. Las herramientas IP tradicionales son completamente ciegas ante este equipo.

Para solucionar esto, los ecosistemas industriales tienen herramientas específicas de Capa 2. En el entorno PROFINET, utilizamos el software PRONETA o el propio TIA Portal, que emplean el protocolo DCP (Discovery and Configuration Protocol). DCP envía tramas de descubrimiento puras de Ethernet (Broadcast MAC) que no requieren IP. El módulo virgen responde con su MAC y su estado. Desde la misma herramienta, el ingeniero puede "inyectar" la IP inicial o el "Nombre de Estación" directamente en el dispositivo, completando la puesta en marcha sin necesidad de cables serie ni pantallas físicas.

PROTOCOLO ARP: EL DESCUBRIMIENTO DE CAPA 2 SWITCH INDUSTRIAL Servidor SCADA IP: 192.168.1.10 MAC: AA:AA:AA PLC Destino IP: 192.168.1.50 MAC: CC:CC:CC HMI (Ignora) IP: 192.168.1.30 MAC: BB:BB:BB ARP REQUEST (Destino FF:FF:FF.) "¿Quién tiene 192.168.1.50?" ARP REPLY (Unicast a AA:AA:AA) "Soy yo, mi MAC es CC:CC:CC"
Figura 1: El proceso de resolución de direcciones (ARP). Como el switch no entiende IPs, el emisor debe descubrir qué tarjeta de red física (MAC) es dueña de una IP. Envía un grito general (Broadcast) que inunda todos los puertos. Todos los equipos lo reciben, pero solo el verdadero dueño responde directamente (Unicast) con su MAC. Si dos equipos responden afirmando ser la IP .50, se produce un conflicto que corrompe la red.
Fuente: Elaboración Propia. Licencia: CC BY-SA 4.0.

🎥 Formación Técnica: Descubrimiento de Nodos con PRONETA

Aprende cómo los ingenieros de automatización utilizan herramientas especializadas como PRONETA o Advanced IP Scanner para auditar topologías en vivo e inyectar IPs en equipos que acaban de salir de la caja.

▶ Ver Tutorial sobre Descubrimiento de Red

📝 Evaluación Técnica: ARP y Descubrimiento

1. En la arquitectura TCP/IP, ¿cuál es la función técnica exacta del protocolo ARP?

2. Instalas un nuevo Variador de Frecuencia en la máquina. Al encenderlo, el operario reporta que la HMI antigua de la máquina de repente parpadea y pierde la conexión con el PLC. Abres la consola del switch y observas que la IP 192.168.1.20 está apareciendo alternativamente en el Puerto 2 y en el Puerto 7. ¿Qué está ocurriendo?

3. Utilizas el programa 'Advanced IP Scanner' en tu portátil, que realiza pings masivos a todo el rango de IPs. Sin embargo, no consigues ver el PLC Siemens que acabas de sacar de su caja nueva. ¿Por qué el escáner IP clásico es ciego ante este equipo y qué protocolo necesitas usar para descubrirlo?

🤖 Ejercicio Práctico 4: Escáner ARP con Python (Scapy)

Objetivo: Programar tu propia herramienta de descubrimiento de red (como Advanced IP Scanner) operando a bajo nivel mediante la inyección de tramas ARP para listar todos los equipos vivos en la subred de tu fábrica.

Copia el siguiente *prompt* y pégalo en un modelo de IA (como ChatGPT, Gemini o Claude).

Actúa como un desarrollador de herramientas de diagnóstico de red. Escribe un script en Python utilizando la librería scapy que funcione como un escáner de red local utilizando el protocolo ARP. El script debe: 1. Aceptar por argumento o variable un rango CIDR de red (ej: 192.168.1.0/24). 2. Forjar un paquete Ether con destino broadcast (ff:ff:ff:ff:ff:ff) que contenga dentro un ARP request preguntando por todo el rango de IPs. 3. Enviar los paquetes con la función srp (send and receive) y esperar las respuestas. 4. Recorrer la lista de respuestas y mostrar por pantalla una tabla muy limpia con dos columnas: IP Encontrada y MAC Address correspondiente. Comenta en el código por qué el descubrimiento ARP (Capa 2) suele ser más rápido y fiable en redes locales industriales que hacer Pings (ICMP) equipo por equipo.