Скрипт Socat exec в туннеле

Скрипт Socat exec в туннеле

Я использую такой туннель:

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

Я хотел бы запустить скрипт для выполнения кода со строками, проходящими через туннель.

Скрипт не изменяет строки, а только обрабатывает строки независимо, но позволяет проходить без изменений между обоими концами.

Это возможно?

решение1

Еговозможно сейчасс socat v2. socat v2 представляет идеюадресные цепочки. Вы можете запустить скрипт, используя, EXECгде stdin/stdout (файловые дескрипторы 0 и 1) подключены к прослушивающему сокету, а файловые дескрипторы 3 и 4 подключены к отправляющему сокету:

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

В примере myscript.sh:

  • stdin(fd 0) - считывает данные с порта 8000
  • stdout(fd 1) - запись данных в порт 8000
  • fd 3 - считывает данные с порта 80 myserver
  • fd 4 - записывает данные на порт 80 myserver

Связанный контент