1.串口转网络
1.1 物理串口tcp端口服务端模式
代码语言:javascript复制socat TCP-LISTEN:8899,fork,reuseaddr FILE:/usr/local/dev/com1,b9600,cs8,raw,echo=0
1.2 物理串口UDP端口
代码语言:javascript复制socat UDP-LISTEN:8899,fork,reuseaddr FILE:/usr/local/dev/com1,b9600,cs8,raw,echo=0
1.3 虚拟串口转TCP客户端模式
代码语言:javascript复制socat PTY,link=/dev/ttyV1,b9600,cs8,raw,echo=0, TCP:192.168.1.15:8080
1.4 虚拟串口转TCP服务端模式
代码语言:javascript复制socat PTY,link=/dev/ttyV1,b9600,cs8,raw,echo=0, TCP-LISTEN:8080,fork
2.端口转发
2.1 TCP端口转发
代码语言:javascript复制socat TCP-LISTEN:8080,fork,reuseaddr TCP:1.1.1.1:8080
将端口8080的数据转发到IP 1.1.1.1 的 8080端口 tcp端口转发时,也支持http的转发。
2.2 TCP端口转UDP
代码语言:javascript复制socat TCP-LISTEN:8081,fork,reuseaddr UDP:192.168.1.15:8081
2.3 TCP转本地域套接字
代码语言:javascript复制socat TCP-LISTEN:3309,reuseaddr,fork UNIX-CONNECT:/var/lib/mysql/mysql.sock
2.4 NAT映射
在一个 NAT 网络环境中,也是可以通过 Socat 将内部机器端口映射到公网上的。在外部公网机器上执行
代码语言:javascript复制socat tcp-listen:1234 tcp-listen:3389
在内部私网机器上执行
代码语言:javascript复制socat tcp:outerhost:1234 tcp:192.168.1.34:3389
这样,你外部机器上的 3389 就映射在内网 192.168.1.34 的 3389 端口上了。不过这样场景下更推荐内网穿透神器 FRP
3.远程登录
在服务器上执行命令:
代码语言:javascript复制socat TCP-LISTEN:8080,fork,reuseaddr EXEC:/usr/bin/bash以提供shell。
在客户端登录时,输入命令socat - TCP:localhost:8080
4.网络测试
在终端1上启动服务器监听TCP,输入命令:
代码语言:javascript复制socat - TCP-LISTEN:8080
在终端2上启动客户端连接TCP,输入命令
代码语言:javascript复制socat - TCP:localhost:8080
在终端2上输入内容,就能在终端1上显示
5.文件传输
在服务端接收文件时,执行命令:
代码语言:javascript复制socat -u TCP-LISTEN:8080 open:test.bin,create。
在客户端发送文件时,执行命令:
代码语言:javascript复制socat -u open:test.bin TCP:localhost:8080