Capítulo 3 – Sniffing/monitorización del enlace serie entre “PC Maestro” y “Dispositivo Objetivo”
Comunicación entre un dispositivo hardware y un PC vía serie
El PC Maestro (derecha) se comunica con el Dispositivo Objetivo mediante un
Dispositivo de Comunicación Serie (normalmente un convertidor USB↔Serie:
UART/TTL, RS-232 o RS-485). El PC de Sniffing (izquierda)
abre dos puertos (COM5 y COM6) y, con dos adaptadores USB a serie,
escucha pasivamente las líneas: en COM5 conecta RX al TX del Dispositivo,
en COM6 conecta RX al TX del PC. Las tierras (GND) son comunes.
3.1 Propósito y conceptos
Queremos monitorear y olfatear los bytes que viajan entre el software del PC Maestro
y el Dispositivo Objetivo, sin interferir con la comunicación. Es un típico hombre-en-medio físico pasivo:
dos adaptadores USB a serie conectados solo en RX “leen” cada dirección.
Es útil para depurar, analizar protocolos y como registrador para auditoría o ingeniería inversa.
3.2 Conexiones (paso a paso)
- COM5 (PC de Sniffing) → conecta el RX del adaptador al TX del Dispositivo (escucha lo que envía el Objetivo).
- COM6 (PC de Sniffing) → conecta el RX del adaptador al TX del PC (escucha los comandos del PC Maestro).
- GND común entre los dos adaptadores y los dos dispositivos (referencia compartida).
- No conectes los TX de los adaptadores del PC de Sniffing: permanecemos en solo escucha (alta impedancia), sin perturbar la línea.
En SerialTool abre dos sesiones: COM5 y COM6. En ambas, ajusta
la velocidad y formato idénticos a los usados por Maestro/Dispositivo (p. ej., 115200-8N1). Si no conoces los baudios,
prueba valores comunes o mide la duración del bit con un osciloscopio/analizador lógico.
3.3 Mismo protocolo, distintos niveles: UART/TTL, RS-232, RS-485
El protocolo serie asíncrono (inicio, 7/8 bits de datos enviados LSB primero, paridad opcional, 1+ de parada) es el mismo.
Solo cambia el nivel físico por el que viajan los bits:
- UART/TTL (3,3 V/5 V): señales single-ended, “1” alto / “0” bajo.
- RS-232: niveles invertidos y tensiones ± (típicamente ±3…±12 V), también single-ended.
- RS-485: diferencial sobre el par A/B, a menudo half-duplex multidrop; se recomienda una tierra de referencia común.
Por lo tanto usa el adaptador correcto:
USB↔TTL para UART, USB↔RS-232 para RS-232, USB↔RS-485 para RS-485. La trama es idéntica, pero cambian niveles eléctricos y topología (diferencial/terminación).
3.4 Dónde se usa (CNC, industria, etc.)
Este montaje es común en CNC, maquinaria industrial, PLC/HMI, robótica,
balanzas, POS, sensores, instrumentos, domótica y, en general, cualquier sistema donde un PC/PLC
controla un dispositivo por serie. El método de sniffing descrito permite monitorear/sniffear/depurar/registrar el tráfico
para análisis funcional, diagnóstico de fallas, trazado de comandos y validación.
3.5 Modbus sobre serie
Los puertos serie a menudo transportan Modbus RTU/ASCII, un protocolo maestro/esclavo (ahora cliente/servidor) muy usado en la industria.
El Maestro envía peticiones (lectura/escritura de bobinas y registros) y el Dispositivo responde.
SerialTool incluye un cliente Modbus para consultar registros rápidamente (diagnóstico y pruebas),
junto con el monitor/visor hex útil para ver tramas crudas (dirección, función, datos, CRC).
3.6 Actualización de firmware y parametrización
En el mundo embebido la serie se usa ampliamente para actualizaciones de firmware o pasar parámetros al Objetivo.
Ejemplos: bootloaders en placas a medida, ecosistemas como Arduino, varios microcontroladores. Aquí un desarrollador puede tener dos necesidades:
- Depurar la aplicación que habla con el Objetivo (verificar comandos, tiempos, errores).
- Ingeniería inversa de un protocolo existente (hay un software Maestro “cerrado” hablando con una placa;
lo olfateo para entender sus mensajes y luego los replico con mi propio software).
3.7 Notas prácticas y herramientas
- Este montaje suele requerir dos PCs (el Maestro y el de Sniffing) y al menos dos convertidores USB a serie para sniffing bidireccional.
- Para RS-232 usa un tap/convertidor RS-232; para RS-485 conecta una interfaz solo-recepción a los terminales A/B
(respetando terminación y polaridad). En RS-485 half-duplex inferirás la dirección por el contexto temporal.
- Excluimos pines de control (RTS/CTS, DTR/DSR, DCD, RI); si el sistema usa control de flujo por hardware, considera sondas dedicadas.
- En SerialTool puedes habilitar vistas HEX, marcas de tiempo y guardar como registrador (texto/CSV/pcap) para análisis posterior.
En resumen: mismo protocolo serie (tramas asíncronas), distintos niveles físicos (TTL/RS-232/RS-485).
Con escucha pasiva de dos RX y software como SerialTool puedes monitorear, sniffear,
depurar y registrar de forma fiable la comunicación entre un PC Maestro y un Dispositivo Objetivo.