Глава 3 – Сниффинг/мониторинг последовательной линии между «Master-ПК» и «Целевым устройством»
Связь между аппаратным устройством и ПК по последовательной линии
Master-ПК (справа) общается с Целевым устройством через
Serial Communication Device (обычно USB↔Serial преобразователь:
UART/TTL, RS-232 или RS-485). ПК для сниффинга (слева)
открывает два порта (COM5 и COM6) и с двумя USB-to-serial адаптерами
пассивно слушает линии: на COM5 подключите RX к TX устройства,
на COM6 — RX к TX ПК. Земли (GND) общие.
3.1 Цель и концепции
Мы хотим мониторить и сниффить байты, идущие между ПО на Master-ПК
и целевым устройством, не вмешиваясь в связь. Это типичный пассивный физический «man-in-the-middle»:
два USB-to-serial адаптера, подключённые только по RX, «читают» каждое направление.
Полезно для отладки, анализа протокола и как логер для аудита или реверса.
3.2 Подключения (пошагово)
- COM5 (ПК для сниффинга) → подключить RX адаптера к TX устройства (слушать, что посылает Target).
- COM6 (ПК для сниффинга) → подключить RX адаптера к TX ПК (слушать команды Master-ПК).
- Общий GND между двумя адаптерами и двумя устройствами (общая ссылка).
- Не подключать TX адаптеров ПК для сниффинга: остаёмся только приём (высокая импеданс), не мешая линии.
В SerialTool откройте две сессии: COM5 и COM6. В обеих задайте
скорость и формат идентичные Master/Device (например, 115200-8N1). Не знаете скорость?
Попробуйте типовые значения или измерьте длительность бита осциллографом/логическим анализатором.
3.3 Один протокол — разные уровни: UART/TTL, RS-232, RS-485
Асинхронный последовательный протокол (старт, 7/8 бит данных с LSB вперёд, опциональная чётность, 1+ стоп) одинаков.
Меняется лишь физический уровень, по которому бегут биты:
- UART/TTL (3,3/5 В): однотактные сигналы, «1» — высокий / «0» — низкий.
- RS-232: инвертированные и ±-уровни (обычно ±3…±12 В), тоже однотактные.
- RS-485: дифференциальная пара A/B, часто полудуплекс с несколькими узлами; общая земля рекомендуется.
Поэтому используйте подходящий адаптер:
USB↔TTL для UART, USB↔RS-232 для RS-232, USB↔RS-485 для RS-485. Кадр один и тот же, а уровни и топология (дифференциал/терминация) отличаются.
3.4 Где применяется (CNC, промышленность и др.)
Такой сетап типичен для CNC, промышленного оборудования, PLC/HMI, робототехники,
весов, POS, датчиков, приборов, систем автоматизации зданий — в целом там, где ПК/ПЛК управляет устройством по «последовательке».
Описанный метод сниффинга позволяет мониторить/сниффить/отлаживать/логировать трафик
для функционального анализа, диагностики, трассировки команд и валидации.
3.5 Modbus поверх последовательной линии
Часто по COM идёт Modbus RTU/ASCII — широко используемый в индустрии протокол мастер/слейв (ныне клиент/сервер).
Master посылает запросы (чтение/запись катушек и регистров), устройство отвечает.
В SerialTool есть Modbus-клиент для быстрого опроса регистров (диагностика/тесты),
а также монитор/HEX-вид для сырых кадров (адрес, функция, данные, CRC).
3.6 Обновление прошивки и параметрирование
В встраиваемом мире «последователька» широко используется для обновления прошивок и передачи параметров в Target.
Примеры: загрузчики на кастомных платах, экосистемы Arduino, разные МК. Тут разработчику обычно нужны две вещи:
- Отладить приложение, которое общается с Target (проверить команды, тайминги, ошибки).
- Реверс-инжиниринг существующего протокола (есть «закрытое» мастер-ПО, общающееся с платой;
я сниффлю, чтобы понять сообщения и затем воспроизвести их в своём ПО).
3.7 Практические заметки и инструменты
- Обычно нужны два ПК (Master и ПК для сниффинга) и как минимум два USB-to-serial преобразователя для двунаправленного сниффинга.
- Для RS-232 используйте RS-232-тап/преобразователь; для RS-485 подключайте приёмный интерфейс к клеммам A/B
(с соблюдением терминации и полярности). В полудуплексе RS-485 направление можно понять по таймингу.
- Управляющие контакты (RTS/CTS, DTR/DSR, DCD, RI) не рассматриваются; если есть аппаратный флоу-контроль, подумайте о специальных пробниках.
- В SerialTool включайте HEX-вид, таймстемпы и сохраняйте как логер (текст/CSV/pcap) для последующего анализа.
Итог: одинаковый последовательный протокол (асинхронные кадры), разные физические уровни (TTL/RS-232/RS-485).
С пассивным «двойным RX» и софтом вроде SerialTool вы можете надёжно мониторить, сниффить,
отлаживать и логировать связь между Master-ПК и целевым устройством.