首页 > 编程知识 正文

linux测试udp端口,linux下udp端口阻塞

时间:2023-05-05 02:36:11 阅读:39572 作者:3625

socat不支持端口段传输,仅适用于单端口或少量端口。 如果需要大量端口,请考虑使用iptables或haproxy。 (haproxy只能传输TCP。

Socat安装

Centos系统:

yum install -y socat

Debian/Ubuntu系统:

获取更新

apt-get安装- y socat

使用Socat

TCP4-LISTEN :在本地建立TCP ipv4协议的监听端口;

reuseaddr :绑定本地端口;

fork :设定多链接模式。 也就是说,一个链路建立后,它会自动复制并监听同一端口。

socat启动侦听模式在前端占用shell,因此必须在后台运行。

传输TCP

socat TCP4-LISTEN:8888,reuseaddr,fork TCP 43360233.5.5.533601006/root/socat.log

socat通常在前台运行,如果需要在后台运行,请添加nohup命令

nohup socat TCP4-LISTEN:8888,reuseaddr,fork TCP 43360233.5.5.533601006/root/socat.log

TCP4-LISTEN:8888是指接收ipv4的端口,即转发后的端口。

forktcp4:233.5.5.5:1006是指传输的IP和端口,也就是要中继的服务器的IP和端口。

/root/socat.log是指传输日志。

传输UD

nohup socat UDP4-LISTEN:8888,reuseaddr,fork UDP 4:223.5.5.533601008/root/socat.log 21

传输UDP很容易。 把TCP4改为UDP4就可以了。

文件传输

服务端:

socat-u open : filename TCP-listen :12345

客户端

socat-utcp : server IP :12345 open : local file,create

【说明】

-u表示数据从第一个参数单向传递到第二个参数。 -U表示从第二个参数传递到第一个参数。 open表示无法使用系统调用open ()打开文件并打开unix域套接字。 tcp-listen表示监听tcp端口。 create表示文件不存在时创建。 传输结束后两端都结束。

读写分流功能

Socat有独特的读写分流功能。 例如,实现一个假web服务器,在客户端连接后传递hello.html内容,同时将客户端数据保存到log.txt (! 符号用于组合读写流,前面的用于读取,后面的用于写入。 因为! 因为在shell中是特殊字符,所以在这里我们使用在命令行中进行了转义。)

socat open:hello.html! ! open:log.txt,create,append tcp-listen:12345,reuseaddr,fork

【说明】

open: hello.html意味着读取hello.html文件。

open: log.txt表示收到的数据已写入log.txt文件。

reuseaddr请参阅socket的SO_REUSEADDR。

fork请求到达后,fork按进程进行处理。 在bash下,是的! 进行逃脱。

打开电源

此工具没有通电启动的设置,因此必须将系统配置为通电启动。

Centos系统:

chmod x /etc/rc.d/rc.local

vi /etc/rc.d/rc.local

Ubuntu/Debian系统:

chmod x /etc/rc.local

vi /etc/rc.local

请输入I键进入编辑模式,然后在上面的教程中安装vim。 如果没有反应,请在打开的文件的exit 0代码之前插入socat命令代码。

显示端口状态

netstat -antup

中止运转

ps -ef|grep socat kill -9 xxxID

卸载Socat

Centos系统:

yum remove socat

Debian/Ubuntu系统:

sudo apt-get remove socat

sudo apt-get autoremove

引用自:

33559 www.dest-un reach.org/socat/doc/socat.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。