socat
socat ( SOcket CAT )是一个多用途双向数据转接工具。
socat 功能跟 NetCat 一样,但更安全(支持 chroot ),兼容多种协议,支持操作 文件 ( file )、 管道 ( pipe )、 设备 ( device )、TCP 套接字、 Unix 套接字、 SOCKS 客户端、 CONNECT 代理以及 SSL 等等。
安装
Linux
在 Linux 系统,使用包管理器进行安装,以 Debian/Ubuntu 为例:
# apt update && apt install socat
OSX
在 OSX 系统,使用装包神奇 brew 进行安装:
$ brew update && brew install socat
典型用法
端口转发
TCP
监听本地 80 端口,并将请求转发(代理)到 10.0.0.1:8080 上:
# socat TCP-LISTEN:80,reuseaddr,fork TCP:10.0.0.1:8080
UDP
监听本地 53 端口,并将请求转发(代理)到 10.0.0.1:5353 上:
# socat UDP-LISTEN:53,reuseaddr,fork UDP:10.0.0.1:5353