Linux socat轻松实现TCP/UDP端口转发
安装Socat
socat 的安装也很简单,一般直接 yum ( centos )或者 apt-get ( ubuntu , debian )就能装。
|
|
1、TCP端口转发
|
|
2、UDP端口转发
|
|
3、文件传输
服务端:1socat -u open:FILENAME tcp-listen:12345
客户端:1socat -u tcp:ServerIP:12345 open:LOCALFILE,create
【说明】
-u 表示数据单向传送,从第一个参数传递到第二个参数;-U则表示从第二个参数传送到第一个参数。
open 表示使用系统调用open()打开文件,不能打开unix域socket。
tcp-listen 表示监听tcp端口。
create 表示如果文件不存在则创建。
传输结束后两端均退出。
4、读写分离
(使用!!符号,左侧表示读,右侧表示写)
``` bash
socat open:hello.html!!open:log.txt,create,append tcp-listen:12345,reuseaddr,fork
###
【说明】
open:hello.html 表示读hello.html文件。
open:log.txt 表示收到的数据写入log.txt文件。
reuseaddr 见socket的SO_REUSEADDR。
fork 请求到达时,fork一个进程进行处理。
在bash下,需要用\对!进行转义。
More info: Deployment