socat用法

TCP

监听TCP端口:

socat - tcp-listen:12345,fork
IPv6:
socat - tcp6-listen:12345,fork
(监听IPv6也能收到IPv4的内容)
监听某个地址:
socat - tcp6-listen:12345,bind=[fd00::118],fork

建立TCP连接:

socat - tcp:192.168.0.107:12345
建立连接并发送数据:
echo “hahha” | socat - tcp:192.168.0.107:12345
IPv6:
echo “hahha” | socat - tcp:[fd00::118]:12345

UDP

发送UDP报文:

echo “hello” | socat - udp4-datagram:192.168.43.111:12345

接收UDP报文

socat - udp-listen:12345,fork
fork表示并发模式,否则接收一个报文就关闭了。

报文转发

TCP

socat TCP4-LISTEN:8888,fork TCP4:127.0.0.1:7777
将所有发往8888端口的TCP报文转发到127.0.0.1:7777

UDP

socat UDP4-LISTEN:8888,fork UDP4:127.0.0.1:7777

组播

加入某个组播组
socat - UDP4-RECVFROM:6666,ip-add-membership=224.0.0.18:enp0s3

发送组播消息
奇怪的是,UDP可以正常发送消息,TCP却提示网络不可达。
在这里插入图片描述

man手册:
http://www.dest-unreach.org/socat/doc/socat.html
各种操作系统的二进制下载:
https://pkgs.org/download/socat

你可能感兴趣的:(工具—IDE—环境搭建)