【工作】Linux 实用的端口转发工具:socat安装使用记录

热门标签

, , , , ,

一一网络

做互联网综合资源分享云平台!。

立即加入一一网络

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

写在前面:

在实际生产中我们经常会遇到到一个场景就是,用一台机器作为转发服务器,连接AB两个网段,将转发服务器的某个端口上的流量转发到B网段的某台机器的某个端口,这样A网段的服务器就可以通过访问转发服务器上的端口访问到B网段的服务器端口。
这样的场景一般在和客户建立专线的连接时候经常用到,一般也可以采用iptables做转发,但是比较复杂,socat可以很轻松的完成这个功能。
socat可以看做netcat(nc)的替代产品,作用是在两个流之间建立双向的通道,且支持众多协议和链接方式:ip,tcp,udp,ipv6,pipe,exec,system,open,proxy,openssl,socket等

一、socat的安装方式:

1.源码方式安装:

socat的官方网站:http://www.dest-unreach.org/socat/
socat源代码包下载地址:http://www.dest-unreach.org/socat/download/
编译安装:
# tar zxf  socat-1.7.2.4.tar.gz
# cd  socat-1.7.2.4
# ./configure   
# make   
# make install  

2.yum方式安装:

# yum install socat

二、主要功能

1.端口转发功能:

格式:
# nohup socat TCP4-LISTEN:访问端口reuseaddr,fork TCP4:192.168.xxx.xxx:转发端口
实例:
开启日志,在本地的监听192.168.162.43网卡的123端口,并将请求转发至192.168.162.44的123端口
# nohup socat  -d -d -lf /var/log/socat.log TCP4-LISTEN:188,bind=192.168.162.43,reuseaddr,fork TCP4:192.168.162.44:123 &
nohup...& :  这个是保证命令可以在后台运行
-d -d -lf /var/log/socat.log :  前面两个连续的-d -d代表调试信息的输出级别,-lf则指定输出信息的保存文件。
TCP4-LISTEN:在本地建立的是一个TCP ipv4协议的监听端口;
bind:指定监听的IP地址,不写这个参数的话将监听服务器上的全部IP
reuseaddr:绑定本地一个端口
fork:设定多链接模式,即当一个链接被建立后,自动复制一个同样的端口再进行监听

2.文件传递功能:

nc也经常用来传递文件,但是nc有一个缺点,就是不知道文件什么时候传完了,一般要用Ctrl+c来终止,或者估计一个时间,用-w参数来让他自动终止。用socat就不用这么麻烦:
192.168.162.43: 
# socat -u open:file,binary tcp-listen:123 
 
192.168.162.44: 
# socat -u tcp:192.168.162.43:123 open:file,create,binary 
-u 表示数据单向流动,这个命令把文件file用二进制的方式,使用123端口(不能是已使用的端口),从192.168.162.43传到192.168.162.44,文件传输完毕,会自动退出。

3.读写分流功能:

socat还具有一个独特的读写分流功能,比如:
# socat open:read.txt!!open:write.txt,create,append tcp-listen:80,reuseaddr,fork 
这个命令实现一个假的web server,客户端连过来之后,就把read.txt里面的内容发过去,同时把客户的数据保存到write.txt里面。”!!”符号用户合并读写流,前面的用于读,后面的用于写。

未经允许不得转载:作者:admin, 转载或复制请以 超链接形式 并注明出处 一一网络
原文地址:《【工作】Linux 实用的端口转发工具:socat安装使用记录》 发布于2019-06-17

分享到:
赞(0)

评论 抢沙发

评论前必须登录!

  注册



【工作】Linux 实用的端口转发工具:socat安装使用记录

长按图片转发给朋友

一一网络
一一网络是一个做互联网的综合资源分享平台,邹洪博客,Emblog,Blog,免费,技术教程,破解源码,资源分享,永久免费,资源分享平台,免费破解,资源分享云平台,永久免费,技术教程分享网站,免费技术学习平台,一一网络是一个专注于网络资源开发和共享加建站教程、源码下载、WordPress主题、网站开发交流、程序软件下载、建站资源、多媒体交流、电影资源、Android软件分享为一体的多互动交流平台。