TCP/UDP 客户端服务端模拟工具socat介绍

举报
彭宁均 发表于 2019/03/20 16:24:23 2019/03/20
【摘要】 socat是一个多功能的网络工具,名字来由是” Socket CAT”,可以看作是netcat的N倍加强版,socat的官方网站:http://www.dest-unreach.org/socat/ 。socat支持的传输包括:文件、管道、设备(终端或调制解调器等)、socket(Unix,IP4,IP6 - raw,UDP,TCP)、SSL、SOCKS4客户端或代理CONNECT。soca...

socat是一个多功能的网络工具,名字来由是” Socket CAT”,可以看作是netcatN倍加强版,socat的官方网站:http://www.dest-unreach.org/socat/ 

socat支持的传输包括:文件、管道、设备(终端或调制解调器等)、socketUnixIP4IP6 - rawUDPTCP)、SSLSOCKS4客户端或代理CONNECT

socat的主要特点就是在两个数据流之间建立通道;且支持众多协议和链接方式:ip, tcp, udp, ipv6, pipe,exec,system,open,proxy,openssl,socket等。本文只介绍一些最简单的TCPUDP相关的用法。

 

 

安装方法

无需安装,二进制可直接执行


1. 下载源码,编译得到二进制。

源码下载地址: http://www.dest-unreach.org/socat/download/

编译方法可参考:

http://3ms.huawei.com/km/blogs/details/5730077 


2. 直接下载本文附件可执行文件

 

 

使用介绍

发送UDP报文:

 echo "hello" | /root/southTest/socat - udp4-datagram:192.168.1.80:5060

 

侦听UDP端口:

/root/southTest/socat - udp-listen:12345

会将接收到的内容打印出来

 /root/southTest/socat - udp-listen:12345,fork

并发模式

 

 

建立TCP连接:

/root/southTest/socat - tcp:192.168.1.18:80

建立连接并发送数据:

echo "hahaha" | /root/southTest/socat - tcp:192.168.1.18:80

IPv6

/root/southTest/socat - tcp:[fd00::123]:12345 


侦听TCP端口:

/root/southTest/socat - tcp-listen:12345

收到连接之后会把内容打印出来。

 /root/southTest/socat - tcp-listen:12345,fork

并发模式

IPv6

/root/southTest/socat - tcp6-listen:12345,bind=[fd00::121],fork

 

如果提示:

Address already in use

可以试着加上参数 reuseaddr,如果不行就只能等大概两分钟了。

/root/southTest/socat - tcp-listen:12345,fork,reuseaddr



转发TCP报文

/root/southTest/socat TCP4-LISTEN:8888 TCP4:127.0.0.1:7777

/root/southTest/socat TCP4-LISTEN:8888, fork TCP4:127.0.0.1:7777

fork的作用是支持并发连接

 

 

转发UDP报文

/root/southTest/socat UDP4-LISTEN:8888 UDP4:127.0.0.1:7777

/root/southTest/socat UDP4-LISTEN:8888, fork UDP4:127.0.0.1:7777



加入某个组播组:

/root/southTest/socat - UDP4-RECVFROM:6666,ip-add-membership=224.1.0.1:bond1

向某个组播组发送消息:

echo "hello" | /root/southTest/socat - udp4-datagram:224.1.0.1:6666

socat目前还不支持IPv6组播

IPv6 multicasting has not yet been successfully used with socat; please contact the author if you have positive experiences or ideas that go beyond IPV6_ADD_MEMBERSHIP.

http://www.dest-unreach.org/socat/doc/socat-multicast.html


IPv6使用这个java工具吧:

http://3ms.huawei.com/km/blogs/details/5571073



参考手册

http://www.dest-unreach.org/socat/doc/socat.html


    附件下载

  • socat.zip 1.34M 下载次数:23
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。