Script executivo Socat no túnel

Script executivo Socat no túnel

Estou executando um túnel como este:

socat TCP-LISTEN:9090,fork TCP:192.168.1.3:9090

Gostaria de executar um script para executar o código com as strings passando pelo túnel.

O script não altera as strings, apenas processa as strings de forma independente, mas permite a passagem sem alterar entre as duas extremidades.

Isso é possível?

Responder1

Isso épossível agoracom socat v2. socat v2 introduz a ideia decadeias de endereços. Você pode executar um script usando EXEConde stdin/stdout (descritores de arquivo 0 e 1) estão conectados ao soquete de escuta e os descritores de arquivo 3 e 4 estão conectados ao soquete de envio:

socat - "TCP-LISTEN:localhost:8000 | EXEC:myscript.sh | TCP:myserver:80"

No exemplo myscript.sh:

  • stdin(fd 0) – lê dados da porta 8000
  • stdout(fd 1) – grava dados na porta 8000
  • fd 3 - lê dados da porta 80 do meu servidor
  • fd 4 - grava dados na porta 80 do meu servidor

informação relacionada