双向数据转发工具,支持文件、管道、TCP/UDP、Unix socket 和 TLS
socat 在两个地址之间建立双向通道,常用于端口转发、Unix socket 暴露、TLS 包装和调试。它的地址语法灵活,但也容易写出危险的暴露面。
socat TCP-LISTEN:8080,fork TCP:127.0.0.1:80
socat -v TCP-LISTEN:1234,fork -
socat OPENSSL-LISTEN:8443,cert=server.pem,key=server.key,verify=0 TCP:127.0.0.1:80
fork 只能处理一个连接;服务型转发通常要 fork。TCP-LISTEN 默认绑定所有接口;只给本机用要写 bind=127.0.0.1。verify=0 关闭客户端证书校验,只适合测试;生产要配置 CA。-d -d 看详细日志,-v 看数据流;排查时很有用。