Soluções existentes de relé TCP [fechadas]

3

Eu tenho um cenário que requer o uso de um TCP Relay. Antes de começar a escrever algo personalizado, queria ver se alguém sabe de software existente que pode fazer isso por mim.

Eu tenho dois dispositivos em redes separadas que não podem se conectar uns aos outros. Vamos chamá-los de redes A e B. Esses dispositivos precisam se comunicar, e eles podem fazê-lo através de um relé "intermediário" na rede C. A pode se conectar a C e B pode se conectar a C. C não pode se conectar a A ou B .

A -> C <- B

A ideia é a seguinte:

  1. A estabelece uma conexão TCP para C e simplesmente aguarda
  2. B estabelece uma conexão TCP para C quando deseja algo de A.
  3. C lê os dados de B e responde com eles à conexão já aberta de A.
  4. A processa os dados e responde a C, que é transmitido para B.

Existe uma ferramenta existente que pode fazer isso?

    
por Val Blant 08.10.2014 / 20:43

1 resposta

2

Se a sua máquina de retransmissão estiver executando o Linux ou qualquer sistema operacional semelhante ao UNIX, você poderá usar socat ( link , ele é incluído como um pacote em muitas distribuições do Linux). Na sua forma mais simples, você pode iniciar o relé com algo como:

socat TCP4-LISTEN:12345 TCP4-LISTEN:54321

(onde 12345 e 54321 são as portas nas quais o servidor atende a cada conexão). Um dos clientes conecta uma porta, a outra na outra porta e, em seguida, os dados são trocados nas duas direções. Se uma máquina envia dados antes que a outra se conecte, ela é armazenada em buffer e enviada após a conexão.

Veja também aqui: socat conectar-se conectar "proxy" duas conexões TCP de entrada para expor um serviço com firewall? .

    
por 08.10.2014 / 20:51

Tags