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

配置复杂场景时要小心回环、循环转发