使用 socat 重定向多个端口

Max*_*hen 6 networking redirect

我想用来重定向一些端口,我在这里socat找到了一个 socat 守护进程。然而,这个守护进程缺乏文档,我只能设置一个端口重定向。是否有任何语法可以使此守护程序(或另一个守护程序)设置多个单独的端口重定向?socat

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

Vol*_*gel 4

在后台运行多个实例

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

我用sleep N而不是socat ...N... ...N...举个例子:

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

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

echo -n 3392 3393 3394 | xargs -d ' ' -I% bash -c 'socat TCP4-LISTEN:%,fork TCP4:192.168.10.102:% &'
Run Code Online (Sandbox Code Playgroud)

知道端口 args 的计数N,这也应该有效:

parallel -j N -i bash -c 'socat TCP4-LISTEN:{},fork TCP4:192.168.10.102:{}' -- 3392 3393 3394
Run Code Online (Sandbox Code Playgroud)