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, поэтому не используйте его там, где важна скорость.