socat安装使用方法

本文介绍了socat,一个强大的网络工具,作为netcat的增强版。内容包括 socat 的安装方法,如在CentOS/RedHat上的源码安装,以及解决版本问题。此外,还提到了Windows版的socat,但因其问题较多而不建议使用。文章重点讲解了如何使用socat将单进程程序转换为多进程服务,并指出socat的广泛应用场景,建议参考官方文档和相关PDF资料深入学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

socat,一个多功能的网络工具,名字来源于SOcket CAT,是netcat的增强版,也就是netcat++(扩展了设计,并有新的实现)。

推荐:socat官方文档
以及 socat - Handling all Kinds of Sockets (pdf)

------------------------------------------------------------------------

0x01 安装

# debian/ubuntu
apt-get install socat

# centos/redhat
yum install -y socat

 

0x02 通过源码安装

在centos或者redhat通过yum安装后的socat,运行报错:

E parseopts(): unknown option "tcpwrap"

这里是版本没编译进去tcpwrap,先卸载当前socat后,再进行源码编译安装:

(目前最新版本是1.7.3.3)

yum install -y tcp_wrappers tcp_wrappers-devel readline-devel openssl-devel
yum install -y gcc

v=1.7.3.3
wget http://www.dest-unreach.org/socat/download/socat-${v}.tar.gz
tar zxvf socat-${v}.tar.gz
cd socat-${v}
./configure
make && make install

 

0x03 windows版socat

git clone https://github.com/StudioEtrange/socat-windows

(暂时不推荐用,存在各种问题)

 

0x04 fork EXEC

将一个使用标准输入输出的单进程程序变为一个使用fork方法的多进程服务

socat TCP4-LISTEN:2333,tcpwrap=script,reuseaddr,fork EXEC:"/usr/bin/env python2 -u pcat.py"

(其中TCP4-LISTEN可简写为tcp-l,而python -u表示输出不缓存)

 

0x05 其他

socat的用途很多,可参见开头列举的文档以及pdf,以后pcat有空再补充。

转载于:https://www.cnblogs.com/pcat/p/10903590.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值