Quero dizer que alguém pode abrir 2 conexões TCP para sua máquina, uma para a porta 50505 e outra para a porta 60606, enviar dados sobre a primeira destinada a ser alimentada para P e esperar ler a saída de P da segunda Conexão TCP, então isso seria:
< /dev/null nc -q -1 -l 50505 | P | nc -l 60606 > /dev/null
Ou com socat
:
socat -u tcp-listen:50505,reuseaddr - | P | socat -u - tcp-listen:60606,reuseaddr
Para P
enviar sua saída de volta para a mesma conexão:
socat tcp-listen:50505,reuseaddr exec:P