socat端口转发

发布时间 2023-10-12 16:42:50作者: 小糊涂90

tcp端口转发


#TCP4-LISTEN表示监听一个TCP4端口(IPv4),fork表示每个连接都创建一个新进程处理数据流,TCP4:192.168.0.2:8080表示将数据转发到目标主机B的8080端口。这样,所有发送到主机A的80端口的数据流都会被转发到主机B上的8080端口。会在A主机监听80端口,所有访问A:80端口的,会返回B:8080的资源。

socat TCP4-LISTEN:80,fork TCP4:192.168.0.2:8080

UDP端口转发


除了TCP端口转发,socat还支持UDP端口转发。假设有一台主机A,它的IP地址为192.168.0.1,上面运行着一个DNS服务器,监听在53端口。现在需要将53端口的UDP数据流转发到另一台主机B上的5353端口,可以使用以下命令:
 socat UDP4-LISTEN:53,fork UDP4:192.168.0.2:5353
其中,UDP4-LISTEN表示监听一个UDP4端口(IPv4),UDP4:192.168.0.2:5353表示将数据转发到目标主机B的5353端口。