Часто задаваемые вопросы (FAQ)

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

  • Что такое COM Sniffer?

    COM Sniffer — это мощная утилита для Windows, которая позволяет вести журнал, перехватывать и пассивно и непрерывно (24/7) мониторить последовательные порты, анализируя трафик ваших приложений или стороннего ПО с максимальной стабильностью. Она имеет простой и интуитивно понятный интерфейс и совместима со всеми последовательными портами: как физическими, так и виртуальными (включая USB–COM адаптеры). Вы также можете контролировать трафик на COM-портах, которые уже используются другими программами.
  • Почему COM Sniffer является частью SerialTool?

    В настоящее время COM Sniffer является интегрированным модулем SerialTool — кроссплатформенного пакета для последовательных соединений (Windows, macOS, Linux) с расширенным функционалом. В будущем COM Sniffer может быть выпущен как отдельная версия, но пока он доступен только в составе SerialTool.
    По всем вопросам обращайтесь напрямую к команде SerialTool.
  • Доступен ли COM Sniffer для macOS или Linux?

    COM Sniffer в настоящее время доступен только для Windows, так как создание надежного сниффера последовательного порта требует драйверов на уровне ядра и сложной реализации. На macOS и Linux существуют альтернативные решения, которые не требуют драйверов ядра и работают в пользовательском пространстве.
  • Как установить COM Sniffer?

    После загрузки COM Sniffer входит в состав пакета SerialTool. Установщик автоматически установит все необходимые драйверы, без ручной настройки. Через несколько минут вы сможете начать мониторинг COM-порта в Windows.
  • На каких операционных системах работает COM Sniffer?

    Так как COM Sniffer входит в состав пакета SerialTool, он работает на всех 64-битных ОС Windows.
  • Работает ли он с USB–COM адаптерами (RS485, RS422, RS232) или виртуальными портами?

    COM Sniffer работает с любым последовательным портом, распознанным ПК: физическим или виртуальным COM-портом (включая USB–COM адаптеры). Если порт зарегистрирован в Windows как COM, COM Sniffer может перехватывать и анализировать весь проходящий трафик (включая RS-232, RS-422 и RS-485 соединения), не изменяя работу основного приложения.
    Мониторинг является пассивным и неинвазивным: COM Sniffer в реальном времени фиксирует пакеты и параметры, обеспечивая надежный перехват и логирование.
  • Как отправлять или получать данные через последовательный порт?

    COM Sniffer не является программой для работы с последовательным портом: он не отправляет и не принимает байты через COM-порт и не открывает и не управляет портами. Он занимается исключительно пассивным мониторингом/сниффингом и логированием трафика.
    Для отправки и получения данных, параллельного открытия нескольких портов и других функций COM Sniffer интегрирован в SerialTool, который обрабатывает все операции с COM-портами.
  • Сколько портов я могу мониторить одновременно?

    Вы можете мониторить несколько последовательных портов одновременно. Для обеспечения стабильности и эффективного использования памяти COM Sniffer ограничивает число одновременных портов до 32.
  • Можно ли вести журнал, мониторить и сниффить порт, уже открытый другим ПО?

    Журналирование, мониторинг и перехват данных на уже открытом COM-порту — это основная задача, для которой был создан COM Sniffer.
    Когда порт используется другой программой, COM Sniffer перехватывает и показывает весь трафик в реальном времени, а также параметры конфигурации (скорость передачи, четность, биты данных/стопа, RTS/DTR, таймауты) и низкоуровневые вызовы (IOCTL/IRP). Это позволяет анализировать поведение приложения без изменения окружения и быстро выявлять ошибки.
  • Какие IOCTL_SERIAL и IRP_MJ сигналы можно мониторить?

    Как правило, все сигналы из низкоуровневой библиотеки Windows ntddser.h и IRP Major Functions (IRP_MJ) READ и WRITE.
  • Можно ли сохранить трафик COM-порта?

    Вы можете сохранить все данные в файл и выбрать типы для включения (например, журнал сессии, чтение/запись, дамп, IOCTL). На главном экране можно быстро выбрать, что экспортировать, и скопировать в буфер обмена в формате ASCII или шестнадцатеричном (HEX).
  • Можно ли анализировать протокол последовательного трафика?

    С помощью COM Sniffer вы можете сохранять и экспортировать полезную нагрузку последовательного трафика — входящую (IRP_MJ_READ) и исходящую (IRP_MJ_WRITE) — в формате PCAP для анализа протоколов (например, Modbus) в WireShark. Встроенные фильтры позволяют быстро изолировать нужные пакеты и передать их в инструменты, способные правильно распознавать и декодировать протокол.
    Эти функции идеально подходят для разработки и отладки приложений, а также для реверс-инжиниринга стороннего ПО.
  • Почему для анализа COM-порта необходим драйвер ядра?

    Чтобы перехватывать весь трафик на уже открытом COM-порту, нельзя повторно открыть его из пользовательского пространства. Необходим драйвер-фильтр на уровне ядра, который может перехватывать и фильтровать все запросы и данные (IOCTL/IRP, READ/WRITE).
    Эффективный драйвер ядра должен быть стабильным, грамотно реализованным и цифрово подписанным Microsoft (attestation/WHQL), чтобы безопасно загружаться во всех поддерживаемых версиях Windows (совместим с Secure Boot и DSE).
    Приложения без драйвера ядра (разработать его крайне сложно) не могут достичь того же уровня мониторинга, сниффинга и логирования на уже используемом COM-порту.
  • Какие альтернативы я могу использовать для логирования или мониторинга COM-порта?

    Без драйвера ядра единственная альтернатива для логирования, мониторинга и сниффинга COM-порта — это физически подключиться к выводам TX и RX. На практике для этого используются USB–COM адаптеры, а контакты припаиваются (или фиксируются клипсами) прямо к плате. Таким образом, с помощью ПО, например SerialTool, можно видеть передаваемые байты.
    Ограничения аппаратного метода включают:
    • Нельзя наблюдать, как оригинальное ПО использует порт: открытие/закрытие, динамическое изменение скорости передачи, четности/бит данных/стопа, таймауты, рукопожатие.
    • Нельзя видеть управляющие сигналы (например, RTS/DTR) и их изменения, которые часто используются для сброса или управления потоком.
    • Нельзя увидеть низкоуровневые вызовы (IOCTL/IRP) и точную последовательность операций ОС.
    • Требуется вмешательство (пайка), что может повредить оборудование/гарантию и требует учета электрических уровней (RS-232/422/485).
    Только драйвер-фильтр на уровне ядра в сочетании со специализированным ПО обеспечивает точный и надежный перехват COM-портов, уже находящихся в использовании, с доступом к полезной нагрузке, параметрам конфигурации и IOCTL/IRP.