Назад | Перейти на главную страницу

Сниффинг последовательного порта в Linux

Как я могу прослушивать пакеты, передаваемые через последовательный порт в Linux?

Есть несколько вариантов:

  • Sersniff это простая программа для туннелирования / прослушивания между 2 последовательными портами.

  • Последовательный сетевой прокси (ser2net) предоставляет пользователю возможность подключиться через сетевое соединение к последовательному порту.

  • SerialSpy действует как последовательное сквозное устройство. Он прослушивает входящие данные на двух последовательных портах и ​​пересылает их, чтобы устройства действовали так, как будто они подключены напрямую. Он также регистрирует данные по мере их прохождения через порты.

  • sercd является перенаправителем последовательного порта, совместимым с RFC 2217. Это позволяет вам совместно использовать последовательный порт через сеть. Он основан на sredird. Протокол RFC2217 является расширением telnet и позволяет изменять параметры порта связи.

  • SerLooK это приложение KDE для проверки данных, передаваемых по последовательным линиям. Он может работать как двоичный терминал, который отправляет и принимает данные через определенный порт (режим «точка-точка») и отображает их в отдельных представлениях. Каждое представление можно настроить для отображения данных в шестнадцатеричном, десятичном, восьмеричном, двоичном и необработанном формате ASCII. Также можно выполнять ввод-вывод через представления эмуляции терминала и определять вторичный порт и контролировать трафик между двумя внешними хостами с помощью Y-образного кабеля (режим Snooper).

  • нульмодем создает виртуальную сеть псевдотерминалов. Его можно использовать как адаптер для подключения двух программ, которым обычно требуются карты последовательного интерфейса.

  • ttywatch контролирует, регистрирует и мультиплексирует ввод / вывод терминала. Он имеет встроенную полную ротацию журналов и может использовать telnet, а также локальные порты TTY.

  • Сниффер последовательной линии (slsnif) - это утилита для ведения журнала последовательного порта. Он прослушивает указанный последовательный порт и регистрирует все данные, проходящие через этот порт в обоих направлениях.

Я попытался перехват (скопировать на GitHub) и успешно его использовал. Сначала я запустил его на интересующем порту:

interceptty /dev/ttyACM0 

Затем подключил тестируемую программу к псевдотерминалу. /dev/pts/5 этот перехват создан.


Я пытался использовать slsnif, но я обнаружил, что получил ошибку:

Failed to open a pty: No such file or directory

Этот элемент списка рассылки указывает, что slsnif поддерживает только "устаревшие" псевдотерминалы (/dev/ttyp0 и т. д.), которые, вероятно, не используются в текущих ядрах Linux.

Попробуйте использовать jpnevulator (в пакете debian) или slsniff. Обратите внимание, что slsniff использует устаревшую модель эмуляции терминала.