命令简介
socat是一个功能强大的命令行工具,也可以看作是netcat的加强版,它可以在两个端口之间建立虚拟通道,实现数据的传输。适用于网络调试、端口转发、安全测试等多种场景,是一个适合网络管理员和开发者的工具
yum在线安装
bash
yum install socat -y
端口转发
配置需求:
在转发服务器上监听一个 8080 端口,将 8080 端口所有流量转发给远端服务器的 80 端口。
配置前准备:
在远端服务器上安装配置WEB服务,开放80端口用于测试使用。
远端服务器已启动WEB服务:
在转发服务器也可以访问到远端服务器:
在转发服务器上执行命令:
bash
socat TCP-LISTEN:8080,fork,reuseaddr TCP:192.168.2.3:80 &
测试访问:
bash
curl 192.168.2.3
curl 192.168.2.10:8080
原理说明
客户端访问转发服务器(192.168.2.10)的8080端口->开始转发->转发到远端服务器(192.168.2.3)的80端口
socat转发的优势
socat相比于iptables配置更简单,只需要一条命令即可实现转发功能,而iptables不仅需要配置转发命令,还需要在Linux内核中开启转发功能。
后台运行示例
bash
socat TCP-LISTEN:8080,fork,reuseaddr TCP:192.168.2.3:80 nohup