Eu não acho que você vai conseguir isso com netcat ou socat. Acabei de fazer extensos ajustes com ambos, e socat parecia o mais promissor.
Consegui configurar o socat para conectar-me à porta TCP remota e escutar em um soquete de domínio unix local (em teoria, o link poderia ser mantido ligado o tempo todo), mas assim que o processo local fosse desconectado do soquete unix (outra socat ligando o socket unix a stdin / out) fechou a sessão TCP socat.
O problema aqui é que cada conexão através de netcat / socat faz uma nova conexão de fluxo TCP ao servidor, e fecha aquela sessão de fluxo TCP quando a extremidade local desconecta.
Eu acho que você provavelmente terá que escrever algum software de proxy personalizado para isso que abra a conexão TCP para o final remoto e, em seguida, escuta localmente em um socket / pipe / fifo ou qualquer outra coisa e, em seguida, apenas envia os dados para baixo tubo TCP existente e retorna os resultados.