Сниффер com порта linux
Как просниферить com-порт на linux?
Пробовл запустить прогу, работающую с com портом и minicom
одновременно,
прога пашет, обмен идет, а в миникоме пусто.
Подскажите пожалуйста как увидеть что ушло/пришло из компорта?
Оглавление |
|
Сообщения по теме | [Сортировка по времени, UBB] |
1. «Как просниферить com-порт на linux» | |
Сообщение от exn | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
2. «Как просниферить com-порт на linux» | |
Сообщение от Vaso Petrovich | |
зачем же так категарично? думать надо и все получится 🙂 есть устройсва типа moxa которе сеть в com превращает. даль любимый снифер в руки. | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
3. «Как просниферить com-порт на linux» | |
Сообщение от exn | |
Вы имеете ввиду сом превратить в сеть и через сеть обратно в порт ? open -> /dev/ttyMOXAвсякое а так бывает чтоли ? Очень вас прошу хоть ссылку дайте . хоть немного конкретнее, меня очень заинтересовал | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
4. «Как просниферить com-порт на linux» | |
Сообщение от exn | |
я наверное просто неправильно вас понял, вы имеете ввиду трафик. А я имею ввиду Решения есть конечно, но они для 2.0.1 2.2.1 и более не поддерживаються(со времен serial.c) имхо, возможно я чегото недопонял | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
5. «Как просниферить com-порт на linux» | |
Сообщение от exn | |
вот подобной тематики | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
6. «Как просниферить com-порт на linux» | |
Сообщение от fantom | |
Спасибо, будем пробовать-смотреть. | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
7 . «Как просниферить com-порт на linux» | |
Сообщение от chip | |
Можно развернуть идентичную тестовую машину в qemu. Он с помощью ключика -serial умеет перенаправлять вывод в различные направления. Источник HowTo: Linux Serial Port SnifferH ow do I sniff and monitor data on a serial port under Linux operating systems? You can use the following tools: a) jpnevulator – What once started as a Jackpot Navigator emulator (hence the strange name) is now a nice serial sniffer and you can use it to send data on a serial line too. It’s sort of like a very simple terminal emulator, like picocom. But jpnevulator uses hexadecimal byte values to display and send along the line. Very handy indeed if you are working a lot with serial protocols. Under Debian and Ubuntu you can install it as follows: b) pyserial – Use this project which is a multiplatform serial port module for Python (Win32, Jython, Linux, BSD and more).
Join Patreon ➔ c) strace – You can trace system calls and signals including serial communication. See strace man page for the details. 🐧 Get the latest tutorials on Linux, Open Source & DevOps via Источник Снифф последовательный порт на LinuxКак я могу прослушивать пакеты, передаваемые через последовательный порт в Linux? Есть несколько вариантов: sersniff — это простая программа для туннелирования / прослушивания между двумя последовательными портами. Serial to Network Proxy (ser2net) предоставляет пользователю способ подключения из сетевого подключения к последовательному порту. SerialSpy действует как последовательное сквозное устройство. Он прослушивает входящие данные через два последовательных порта и передает их таким образом, чтобы устройства действовали так, как если бы они были напрямую подключены. Это также регистрирует данные, поскольку это перемещается через порты. sercd — это перенаправитель последовательного порта, совместимый с RFC 2217. Это позволяет вам использовать последовательный порт через сеть. Это основано на Sredird. Протокол RFC2217 является расширением для telnet и позволяет изменять параметры порта связи. SerLooK — это приложение KDE для проверки данных, передаваемых по последовательным линиям. Он может работать как бинарный терминал, который отправляет и получает данные через определенный порт (режим «точка-точка») и отображает их в отдельных представлениях. Каждое представление может быть настроено для отображения данных в шестнадцатеричном, десятичном, восьмеричном, двоичном и необработанном ASCII. Также возможно выполнить ввод / вывод через представления эмуляции терминала и определить вторичный порт и контролировать трафик между двумя внешними хостами, используя кабель «Y» (режим Snooper). nullmodem создает виртуальную сеть псевдо-терминалов. Его можно использовать в качестве адаптера для подключения двух программ, для которых обычно требуются карты последовательного интерфейса. ttywatch контролирует, регистрирует и мультиплексирует терминальный ввод-вывод. Он имеет встроенную полную ротацию логов и может использовать как telnet, так и локальные порты TTY. Анализатор последовательной линии (slsnif) — это утилита регистрации последовательного порта. Он слушает указанный последовательный порт и регистрирует все данные, проходящие через этот порт в обоих направлениях. Я попытался перехватить ( копия на GitHub ), и успешно его использовал. Сначала я запустил его в интересующем порту: Затем я подключил тестируемую программу к псевдотерминалу, /dev/pts/5 который создал перехват. Я попытался использовать slsnif , но обнаружил, что получил ошибку: Этот элемент списка рассылки указывает, что slsnif поддерживает только «устаревшие» псевдо-терминалы (и /dev/ttyp0 т. Д.) , Которые , вероятно, не используются в современных ядрах Linux. Источник Sniff serial port on LinuxHow can I sniff packets communicated through a serial port on Linux? 3 Answers 3There are a few options: sersniff is a simple program to tunnel/sniff between 2 serial ports. Serial to Network Proxy (ser2net) provides a way for a user to connect from a network connection to a serial port. SerialSpy acts as a serial pass-through device. It listens for incoming data on two serial ports and forwards it so the devices act as if they are directly connected. It also logs the data as it moves through the ports. sercd is an RFC 2217-compliant serial port redirector. It lets you share a serial port through a network. It is based on sredird. The RFC2217 protocol is an extension to telnet and allows changing communication port parameters. SerLooK is a KDE application for inspecting data going over serial lines. It can work as a binary terminal that sends and receives data through a defined port (Point to Point mode) and displays them on separate views. Each view can be configured to display data in hexadecimal, decimal, octal, binary, and raw ASCII. It is also possible to perform I/O through terminal emulation views and define a secondary port and monitor the traffic between two external hosts using a «Y» cable (Snooper mode). nullmodem creates a virtual network of pseudo-terminals. It can be used as an adapter to connect two programs that normally need serial interface cards. ttywatch monitors, logs, and multiplexes terminal I/O. It has full log rotation built in, and can use telnet as well as local TTY ports. Serial line sniffer (slsnif) is a serial port logging utility. It listens to the specified serial port and logs all data going through this port in both directions. Источник Заметки о Linux, электронике, радиолюбительствеЛичный блог Вадима Кузнецова, RA3XDH воскресенье, 27 июля 2014 г.Работа с последовательным портом из консоли LinuxВ предыдущем посте было показано как запустить UART на отладочной плате Launchpad для MSP430. Теперь рассмотрим как общаться с платой при помощи средств командной строки Linux. Используется плата с прошивкой из предыдущего поста. Для подробностей — см. под кат Как известно, все устройства последовательных портов представлены файлами устройств в каталоге /dev.Через эти файлы и происходит общение ОС Linux с внешним устройством на последовательном порту. Чтобы передать что-то на внешнее устройство нужно записать данные в файл устройства, а чтобы считать информацию из устройства — прочитать данные из файла устройства. Это можно делать при помощи команд cat и echo так же как для обычных файлов на диске. Или внутри программы на С при помощи вызовов ioctl(), read() и write() или библиотеки termios. Физическим последовательным портам RS232, к которым подключались диалапные модемы на старых компьютерах, соответствуют файлы устройств /dev/ttyS*, начиная с /dev/ttyS0. Виртуальным последовательным портам, которые создаются различными конвертерами USB UART соответствуют файлы устройств /dev/ttyUSB* и /dev/ttyACM*. Ядро Linux автоматически разпознаёт подключенное устройство, загружает для него драйвер и создаёт файл устройства. Вручную устанавливать драйвер, как в ОС Windows не требуется. Например, если подключить к USB преобразователь USB UART FT232, то создаётся файл устройства /dev/ttyUSB0, с которым можно работать также как и с обычным последовательным портом. На плате Launcpad находится микросхема TUSB3410, которая тоже представляет собой конвертер USB UART. Если подключить её к USB, то создаётся файл устройства /dev/ttyACM0. Чтобы общаться с платой нужно что-либо писать/читать с этого файла. Чтобы пользователь мог читать или писать в файл устройства последовательного порта, его нужно добавить в группу dialout. Иначе работать с последовательным портом сможет только администратор root. Простейшим приложением с графическим интерфейсом, которое работает с последовательным портом, является CuteCOM. Он обычно уже есть в вашем дистрибутиве Linux. Его можно установить из репозиториев. При помощи CuteCOM мы работали с платой в предыдущем посте. Выглядит CuteCOM вот так: Работать с ним крайне просто. Указываем нужное устройство, если его нет в списке, то его можно впечатать вручную. Затем указываем скорость и параметры и нажимаем OpenDevice. В окне видим данные, которые пришли от устройства. В поле ввода в нижней части можем печать строку символов, которые предаются на устройство. Чтобы передать данный нажимаем Enter и смотрим ответ устройства в окне. Теперь рассмотрим как работать с COM-портом из командной строки. Для этого служат три команды: stty, cat и echo. Команда stty устанавливает параметры и скорость COM-порта. Её формат: stty -F $ stty 9600 -F /dev/ttyACM0 raw -echo Теперь в той же консоли нужно набрать $ cat /dev/ttyACM0 Теперь нажимаем на плате RESET и видим, что в консоди напечатался текст. Чтобы передать в плату данные, в другой консоли нужно использовать команду echo и перенаправление вывода в файл устройства. Наберём в другой консоли: $ echo "1">/dev/ttyACM0 В итоге должно получиться так: Чтобы увидеть 16-ричные коды данных, приходящих от устройства, нужно использовать команду hexdump: $ cat /dev/ttyACM0|hexdump -C Чтобы иметь вывод данных от устройство на экран и в текстовый файл нужно использовать tee: Источник |