Как я могу прослушивать пакеты, передаваемые через последовательный порт в 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 использует устаревшую модель эмуляции терминала.