Двунаправленный канал Unix в командной строке

Двунаправленный канал Unix в командной строке

Мне удалось использовать эту команду Linux для подключения Netcat к последовательному порту:

nc -l 80 <> /dev/ttyS0

Я хотел бы иметь возможность регистрировать эту транзакцию. Мой запасной план — использовать Wireshark для мониторинга потока netcat, но в идеале я хотел бы сделать что-то вроде этого:

cat /dev/ttyS0 | tee upstream.bin | nc -l 80| tee downstream.bin | /dev/ttyS0

Это пытается открыть ttyS0 дважды и поэтому выдает ошибку прав доступа. Кто-нибудь знает более умный способ сделать это?

решение1

В документации Netcat говорится:

Чтобы получить шестнадцатеричный дамп-файл данных, отправленных в любом направлении, используйте "-o logfile". Строки дампа начинаются с "<" или ">", что соответственно указывает "из сети" или "в сеть", и содержат общее количество по направлению, а также шестнадцатеричное и ascii-представление трафика. Захват шестнадцатеричного дампа, естественно, немного замедляет netcat, поэтому не используйте его там, где скорость имеет решающее значение.

Связанный контент