一、socat介绍
Socat 是 Linux 下的一个多功能的网络工具,Socat 的主要特点就是在两个数据流之间建立通道,且支持众多协议和链接方式。Socat 的官方网站:http://www.dest-unreach.org/socat/
二、安装方式
①、源码安装
wget http://www.dest-unreach.org/socat/download/socat-1.7.3.2.tar.gz
tar zxf socat-1.7.3.2.tar.gz
cd socat-1.7.3.2
./configure
make
make install
②、通过包安装 (centos)
yum install socat -y
三、socat实战之端口转发
1、转发TCP
监听 192.168.1.252 网卡的 15672 端口,并将请求转发至 172.17.0.15 的 15672 端口。
socat -d -d TCP4-LISTEN:15672,bind=192.168.1.252,reuseaddr,fork TCP4:172.17.0.15:15672
-d -d :前面两个连续的 -d -d 代表调试信息的输出级别。
TCP4-LISTEN:15672 在本地建立一个 TCP IPv4 协议的监听端口,也就是转发端口。这里是 15672,请根据实际情况改成你自己需要转发的端口。
bind 指定监听绑定的 IP 地址,不绑定的话将监听服务器上可用的全部 IP。
reuseaddr 绑定一个本地端口。
fork TCP4:172.17.0.15:15672 指的是要转发到的服务器 IP 和端口,这里是 172.17.0.15 的 15672 端口。
2、转发UDP
转发 UDP 和 TCP 类似,只要把 TCP4 改成 UDP4 就行了。