Unix bidirectional pipe on commandline

2

1

I've been able to use this linux command to connect Netcat to a serial port:

nc -l 80 <> /dev/ttyS0

I would like to be able to log this transaction. My backup plan is to use Wireshark to monitor the netcat stream, but ideally I'd like to do something like this:

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

This tries to open ttyS0 twice and therefore throws a permissions error. Does anyone know a smarter way to do this?

John Walthour

Posted 2012-09-19T21:31:13.863

Reputation: 255

Answers

2

Netcat documentation says

To obtain a hex dump file of the data sent either way, use "-o logfile". The dump lines begin with "<" or ">" to respectively indicate "from the net" or "to the net", and contain the total count per direction, and hex and ascii representations of the traffic. Capturing a hex dump naturally slows netcat down a bit, so don't use it where speed is critical.

RedGrittyBrick

Posted 2012-09-19T21:31:13.863

Reputation: 70 632