首页/系统/Linux 运维命令速查/socat 万能连接转发
网络命令82 条

socat 万能连接转发

两个数据通道的桥接器:TCP-LISTEN 转发到后端、UNIX socket 与 TCP 互转、加 fork 支持并发,比 nc 的语法更工程化。

Linux 运维命令速查系统更新于 2026-10-12
用途端口转发/协议桥接/调试
语法socat [选项] 地址1 地址2
对比支持 fork/reuseaddr 等选项,适合常驻小转发

常用示例

常用示例
socat TCP-LISTEN:8080,fork,reuseaddr TCP:127.0.0.1:80     # 8080 → 本机 80
socat TCP-LISTEN:3307,fork TCP:10.0.0.9:3306                # 转发数据库端口
socat - TCP:10.0.0.5:80                                     # 标准输入接远端端口
socat UNIX-LISTEN:/tmp/app.sock,fork TCP:127.0.0.1:9000     # unix socket 转 TCP
socat -d -d TCP-LISTEN:8080,fork TCP:127.0.0.1:80           # -d -d 打调试日志
常驻转发建议交给 systemd 管理并只绑内网;公网直接暴露 TCP-LISTEN 等于开门。

易错点

  • 不加 fork 只能接一个连接,之后自动退出——常驻服务必须 fork,reuseaddr
  • socat 不做协议转换(HTTP→另一协议不行),只是字节搬运

数据来源与参考

  • man 1 socat(socat 官方手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌