IBCOURSES / СПРАВОЧНИК ИБ

Zeek Modbus: запрос, ответ и ошибка протокола

К ответу ↓

Пассивное наблюдение Modbus показывает обмен на доступном участке сети. Действие процесса и фактическое изменение установки требуют иных свидетельств.

Например
Материалов с пояснениями: 94 · Записей реестров: 11 678

Уточнить поиск

События и журналы

Найдено: 84
Инструкция по проверке

Zeek Modbus: запрос, ответ и ошибка протокола

Пассивное наблюдение Modbus показывает обмен на доступном участке сети. Действие процесса и фактическое изменение установки требуют иных свидетельств.

Условия и источник

Зафиксируйте сенсор Zeek, его версию, точку пассивного наблюдения и формат вывода. Подтверждённая форма полей прочитана в master; стабильный релиз может отличаться. Наличие 502/TCP не доказывает правильный разбор Modbus. Исследование ведётся по уже полученной копии без запросов к PLC и без активного сканирования технологического сегмента.

Как отобрать запись

В modbus JSONL отберите uid нужного соединения, затем tid/unit и доступное направление PDU. Сохраните ts и участников с учётом сенсора. Не требуйте от всех строк необязательных tid,unit,pdu_type,exception: сначала сверяйте версию и конкретный эпизод. Чтобы увидеть обмен целиком, сопоставьте доступные строки запроса и ответа, не смешивая соседние транзакции.

Разбор примера

Пример REQ с READ_HOLDING_REGISTERS иллюстрирует запрос чтения, а не изменение регистров. uid связывает соединение, tid — транзакцию при наличии, unit — адресуемую единицу. Значения полей и IP-адреса в примере условные. exception описывает ответ-ошибку, когда он наблюдался. Отсутствующий ответ не следует заменять успехом на основании корректно распознанного запроса.

Интерпретация и границы

Пассивный журнал подтверждает наблюдённые данные на участке сети, а не человека, управлявшего процессом, или физический результат. Для оценки допустимости нужны роль актива, разрешённая инженерная операция и технологический контекст. Один uid не следует приравнивать к идентификаторам других продуктов. Временной порядок и видимость направлений проверяются отдельно, особенно если зеркалирование неполно.

Следующая проверка

Свяжите uid с conn.log и инвентаризацией; затем запросите доступные журналы инженерной станции, SCADA или изменений программы у владельца процесса. Для вывода об изменении установки нужны соответствующие свидетельства, которых чтение регистров не даёт. Сохраните отдельно подтверждённый сетевой запрос, ответ и оставшуюся гипотезу. Не воспроизводите технологическую команду ради проверки журнальной формы.

Если записи нет

Проверьте видимость сегмента, capture-потери, загрузку анализатора, транспорт, включение журнала, фильтры и retention. Если conn.log есть, а Modbus-записей нет, исследуйте распознавание и конфигурацию вместо вывода об отсутствии трафика. Пустая выборка по uid может относиться к другому сенсору или периоду. Недоступный источник в OT фиксируется как пробел наблюдаемости, а не разрешение на активное исследование устройства.

Поля и область применения

Исходное полеСмысл и ограничения
tsВремя запроса
uidСвязь с соединением
id.orig_h / id.resp_hУчастники
tidTransaction ID при наличии
unitUnit identifier при наличии
funcИмя функции
pdu_typeREQ/RESP при наличии
exceptionОтвет-ошибка при наличии

Примеры записей

Данные в примерах условные. Состав полей зависит от версии и настроек источника.

Пример фрагмента JSON Modbus

Фрагмент журнала. Сокращённый пример по документированной структуре. Остальные поля опущены.

{
  "ts": 1793782800.0,
  "uid": "CdemoModbus1",
  "id.orig_h": "192.0.2.10",
  "id.resp_h": "192.0.2.20",
  "tid": 17,
  "unit": 1,
  "func": "READ_HOLDING_REGISTERS",
  "pdu_type": "REQ"
}

Команды и способы проверки

Укажите свой узел, путь к журналу и временной интервал. Требуемая среда указана рядом с командой.

jq, уже полученный JSONL; без взаимодействия с OT-устройством

jq -c 'select(.uid == "CdemoModbus1")' modbus.jsonl

Первоисточники

Журнал не устанавливает человека и не подтверждает физический результат; поля master могут отсутствовать в вашей версии.

Связанные материалы

Как пользоваться техническим справочником

Найдите порт, код ошибки, событие или источник журнала. Уточните протокол и систему, затем сверяйте значение, поля, примеры и первоисточники. Назначение порта не определяет фактическую службу, а одна запись не доказывает инцидент.

Материалы по разделам

События и журналы

Два ответа рядом

Сравнение источников

Сравнение показывает различия. События и поля разных систем не считаются эквивалентными.

Выберите службу

В списке — службы, доступные с текущими условиями. Число рядом — количество записей портов, а не программ на вашем узле.

Как искать в справочнике

Введите число, код, фрагмент сообщения или вопрос. Известный идентификатор поможет найти карточку; это не анализ самого инцидента.

  1. Введите номер, код, имя или фрагмент записи. Для портов можно использовать список: 80, 443, 8000–8010.
  2. Уточните поиск фильтрами. Все условия действуют одновременно. Числа в списках показывают, сколько материалов останется при выборе варианта.
  3. Службу выбирайте из каталога: поиск внутри списка помогает найти название, а кнопка «Выбрать» применяет его.
  4. Убирайте отдельные условия кнопкой × рядом с фильтром. «Сбросить фильтры» сохраняет текст поиска и текущий раздел.
  5. В карточке сверьте источник, версию и условия регистрации, затем откройте поля, примеры и первоисточник.

/ — перейти к поиску. Прямые ссылки открывают выбранную карточку в этом же справочнике.

Назначения портов и коды приведены по официальным реестрам. Версии, условия регистрации и ссылки на документацию указаны в карточках.

Избранное и недавние материалы хранятся в этом браузере. Запрос и фильтры сохраняются при возврате к выдаче и обновлении вкладки. Поиск работает локально.

Что есть в справочнике

От вопроса к свидетельствам: кто вошёл, что запустил, к каким данным обратился, что изменил и где искать следы.

Выберите область, чтобы посмотреть доступные источники и перейти к материалам.

Уточнить или исправить ответ

Скопируйте сообщение и отправьте его на mail@ibcourses.ru.