生产力

socat的介绍与使用

2019-01-29  本文已影响194人  无处安放的躁动

什么是socat?

socat 是一个实用的命令行工具。


常用方法

端口转发

# 端口转发
#socat -d -d -lf /var/log/socat.log TCP4-LISTEN:6666,bind=127.0.0.1,reuseaddr,fork TCP:127.0.0.1:3306
#mysql -uroot -h127.0.0.1 -P6666 -p

文件写入

#不使用group则默认当前用户
socat -T 2 -u - CREATE:./james,group=test,perm=0640 
socat -t 2 -u - CREATE:./james,perm=0640

读取文件

socat - /tmp/jamestest
socat - GOPEN:./james
socat - OPEN:./james

socat调用命令

socat - EXEC:ls


后续补充

详细操作参数介绍

socat [options] <bi-address> <bi-address>

options

将版本和功能信息打印到stdout,然后退出

打印帮助信息

打印比-h更详细的帮助信息

打印最详细的帮助信息

多个使用-d 打印fatal, error, warning, notice, info, and debug messages日志级别(建议使用两个-d,最多使用4个-d)

  • 通过-d -d 显示调试信息

在开始传输阶段之前记录有关文件描述符的信息

将消息写入syslog而不是stderr; 使用-d选项定义的严重性。 使用可选的<facility>,可以选择syslog类型,默认为“daemon”。 第三方库可能不遵守此选项

auth, authpriv:与认证有关的系统,例如 login, su 等需要user names and passwords的服务
uucp: UUCP系统
daemon:与各个 daemon 有关的系统
kern :核心(kernel)系统
lpr:列印相关的系统
mail:与邮件相关的系统
news:与新闻群组相关的系统
syslog:与 syslogd本身相关的系统
user:一般使用者的系统
local0 ~ local7:保留, 做為特別设定使用的

参考文件

将消息写入<logfile> [filename]而不是stderr。 某些第三方库,特别是libwrap,可能不遵守此选

将消息写入stderr(这是默认值)。 某些第三方库可能不遵守此选项,特别是libwrap似乎只记录到syslog。屏幕输出

混合日志输出模式

覆盖错误消息中打印的程序名称,用于构造环境变量名称。

使用微秒记录时间戳

增加hostname到日志文件中

详细的数据流量,文本

详细数据流量,十六进制

设置数据缓冲区大小(8192)

遇到错误继续不退出

关闭第二个频道前等待几秒钟

#不活跃不退出,有下一个输入下一个指令超过两秒则退出。
socat -t 2  - TCP:127.0.0.1:80 

不活动超时(以秒为单位),适用于UTP协议

#2s 不活跃两秒后退出
socat -T 2 - TCP:127.0.0.1:80

单向模式(从左到右)

单向模式(从右到左)

不要检查选项组

如果存在lockfile,则退出并显示错误。 如果lockfile不存在,则创建它并继续,在退出时取消链接lockfile

如果存在lockfile,则等待直到它消失。 当lockfile不存在时,创建它并继续,在退出时取消链接lockfile。

如果没有明确指定版本,则使用ipv4

使用ipv6


参考文件

man pages

上一篇下一篇

猜你喜欢

热点阅读