使用 socat 重定向多个端口

使用 socat 重定向多个端口

我想用它socat来重定向一些端口,我发现了一个 socat 守护进程这里。但是这个守护进程缺少文档,我只能设置一个端口重定向。是否有任何语法可以让socat这个守护进程(或另一个守护进程)设置多个单独的端口重定向?

编辑 1:找到了可能的解决方案这里

答案1

在后台运行多个实例

socat您可以使用一个命令在后台运行多个实例。

我使用sleep N而不是socat ...N... ...N...作为示例:

echo -n 1 2 3 | xargs -d ' ' -I% bash -c '(sleep % ; echo slept % ) &'

()和部分echo slept %只需要有一些示例输出,因此您的实际命令会更简单;%将被 echo 后列出的端口之一替换:

echo -n 3392 3393 3394 | xargs -d ' ' -I% bash -c 'socat TCP4-LISTEN:%,fork TCP4:192.168.10.102:% &'

根据端口参数的数量N,这也应该有效:

parallel -j N -i bash -c 'socat TCP4-LISTEN:{},fork TCP4:192.168.10.102:{}' -- 3392 3393 3394

答案2

尝试

socat TCP-LISTEN:8080,fork TCP:host1:8080|socat TCP-LISTEN:8081,fork TCP:host2:8082

相关内容