Socat
Socat是一款功能强大的网络工具,它可以在两个数据流之间建立连接,并转发数据。你可以把它看成是增强版的 netcat(nc),支持更多协议、功能更强大。
常见用途:
| 用途 | 示例说明 |
|---|---|
| 搭建 TCP 服务端 | 模拟监听端口、测试连接 |
| TCP/UDP 端口转发 | 类似端口映射 |
| 本地端口转发到远程服务器 | 像 SSH 转发 |
| 将串口连接转成网络连接 | IoT、调试硬件 |
| 作为中间代理或桥接 | 把两个程序连在一起传数据 |
安装Socat
apt update && apt install socat示例:监听本地 TCP 25 端口
socat TCP-LISTEN:25,fork STDOUT-
TCP-LISTEN:25:监听本地 TCP 25 端口 -
fork:每次连接都创建一个新子进程,允许多个连接 -
STDOUT:把接收到的数据打印出来
示例:端口转发
将本地 1234 端口的数据转发到远程服务器 192.168.1.100 的 80 端口:
socat TCP-LISTEN:1234,fork TCP:192.168.1.100:80注意事项: 某些端口(如 25、80)是特权端口,监听需要 sudo
配置复杂场景时要小心回环、循环转发