Socat 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Socat 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Socat 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 GPL
开发语言 C/C++
操作系统 Linux
软件类型 开源软件
开源组织
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 2010-08-02

软件简介

socat是一個netcat(nc)的替代產品,可以稱得上nc++。socat的特點就是在兩個流之間建立一個雙向的 通道。socat的地址類型很 多,有ip, tcp, udp, ipv6, pipe,exec,system,open,proxy,openssl,等等。看一個例子:

c:\>socat - tcp:192.168.1.18:80

這個命令等同於 nc 192.168.1.18 80。 socat裡面,必須有兩個流,所以第一個參數-代表標準的輸入輸出,第二個流連接到192.168.1.18的80端口。再看一個反向telnet的例子:

on server:
c:\>socat tcp-listen:23 exec:cmd,pty,stderr

這個命名把cmd綁定到端口23,同時把cmd的Stderr重定向到stdout。

on client:
c:\>socat readline tcp:server:23

連接到服務器的23端口,即可獲得一個cmd shell。readline是gnu的命令行編輯器,具有歷史功能。

再看文件傳遞的例子。nc也經常用來傳遞文件,但是nc有一個缺點,就是不知道文件什麼時候傳完了,一般要用Ctrl+c來終止,或者估計一個時間,用-w參數來讓他自動終止。用socat就不用這麼麻煩了:

on host 1:
c:\>socat -u open:myfile.exe,binary tcp-listen:999

on host 2:
c:\>socat -u tcp:host1:999 open:myfile.exe,create,binary

這個命令把文件myfile.exe用二進制的方式,從host 1 傳到host 2。-u 表示數據單向流動,從第一個參數到第二個參數,-U表示從第二個到第一個。文件傳完了,自動退出。

再來一個大家喜歡用的例子。在一個NAT環境,如何從外部連接到內部的一個端口呢?只要能夠在內部運行socat就可以了。

外部:
c:\>socat tcp-listen:1234 tcp-listen:3389

內部:
c:\>socat tcp:outerhost:1234 tcp:192.168.12.34:3389

這樣,你外部機器上的3389就影射在內部網192.168.12.34的3389端口上。

socat還具有一個獨特的讀寫分流功能,比如:

c:\>socat open:read.txt!!open:write.txt,create,append tcp-listen:80,reuseaddr,fork

這個命令實現一個假的web server,客戶端連過來之後,就把read.txt裡面的內容發過去,同時把客戶的數據保存到write.txt裡面。”!!”符號用戶合併讀寫流,前面的用於讀,後面的用於寫。

展开阅读全文

评论 (0)

加载中
更多评论
发表了资讯
2014/01/30 00:00

Socat 1.7.2.3 发布,netcat 的替代品

Socat 1.7.2.3 发布,此版本修复了一个安全问题:socats PROXY-CONNECT 地址很脆弱,容易导致命令行提供的数据缓存区溢出。(CVE-2014-0019). socat是一個netcat(nc)的替代產品,可以稱得上nc++。socat的特點就是在兩個流之間建立一個雙向的 通道。socat的地址類型很 多,有ip, tcp, udp, ipv6, pipe,exec,system,open,proxy,openssl,等等。看一個例子: c:\>socat - tcp:192.168.1.18:80 這個命令等同於 nc 192.168.1.18 80。 ...

4
15
发表了资讯
2013/05/27 00:00

Socat 1.7.2.2 发布,netcat 的替代品

Socat 1.7.2.2 修复了一个安全性问题 (CVE-2013-3571),在特定的情况下出现的文件描述符的泄漏,这会导致以服务器下运行 Socat 时的拒绝服务攻击。 socat是一個netcat(nc)的替代產品,可以稱得上nc++。socat的特點就是在兩個流之間建立一個雙向的 通道。socat的地址類型很 多,有ip, tcp, udp, ipv6, pipe,exec,system,open,proxy,openssl,等等。看一個例子: c:\>socat - tcp:192.168.1.18:80 這個命令等同於 nc 192.168.1.18 ...

0
16
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2020/08/06 10:25

socat安装使用方法

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安装后的...

0
0
发表了博客
2013/08/30 14:09

端口映射工具 redir/socat/xinetd

过去习惯每台服务器都有外网IP,等服务器数量增多之后有所收敛。迎面而来的需要就是:服务好一个大内网。 NAT网关,通常用iptables实现,但性能很差不适合用于生产环境。可通过硬件设备或小米开源的dsnat完成。 端口映射的需求也常有,通过也是用iptables实现。可是iptables太重,性能是个大问题,且每次更新都需要重启。 此时,我们需要一个工具来实现端口映射。如果纯粹是HTTP协议,那么直接用Nginx即可。像MySQL、MongoDB之类...

1
15
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
64 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部