Tubería bidireccional de Unix en la línea de comando

Tubería bidireccional de Unix en la línea de comando

Pude usar este comando de Linux para conectar Netcat a un puerto serie:

nc -l 80 <> /dev/ttyS0

Me gustaría poder registrar esta transacción. Mi plan de respaldo es usar Wireshark para monitorear la transmisión de netcat, pero idealmente me gustaría hacer algo como esto:

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

Esto intenta abrir ttyS0 dos veces y, por lo tanto, genera un error de permisos. ¿Alguien conoce una forma más inteligente de hacer esto?

Respuesta1

La documentación de Netcat dice

Para obtener un archivo de volcado hexadecimal de los datos enviados de cualquier manera, utilice "-o logfile". Las líneas de volcado comienzan con "<" o ">" para indicar respectivamente "desde la red" o "hacia la red" y contienen el recuento total por dirección y representaciones hexadecimales y ascii del tráfico. La captura de un volcado hexadecimal naturalmente ralentiza un poco a netcat, así que no lo uses donde la velocidad es crítica.

información relacionada