Bidirektionale Unix-Pipe auf der Befehlszeile

Bidirektionale Unix-Pipe auf der Befehlszeile

Ich konnte diesen Linux-Befehl verwenden, um Netcat mit einem seriellen Port zu verbinden:

nc -l 80 <> /dev/ttyS0

Ich möchte diese Transaktion protokollieren können. Mein Backup-Plan ist, Wireshark zu verwenden, um den Netcat-Stream zu überwachen, aber idealerweise würde ich gerne so etwas tun:

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

Dies versucht zweimal, ttyS0 zu öffnen und löst daher einen Berechtigungsfehler aus. Kennt jemand eine intelligentere Methode, dies zu tun?

Antwort1

Die Netcat-Dokumentation besagt

Um eine Hex-Dump-Datei der in beide Richtungen gesendeten Daten zu erhalten, verwenden Sie „-o logfile“. Die Dump-Zeilen beginnen mit „<“ oder „>“, um jeweils „vom Netz“ oder „zum Netz“ anzuzeigen, und enthalten die Gesamtzahl pro Richtung sowie Hex- und ASCII-Darstellungen des Datenverkehrs. Das Erfassen eines Hex-Dumps verlangsamt Netcat natürlich ein wenig, verwenden Sie es also nicht, wenn Geschwindigkeit entscheidend ist.

verwandte Informationen