linux系统安装socat命令,以及socat命令的使用

最近在测试的时候需要向转发机发送tcp报文,于是整理了socat的常用命令。

什么是socat

socat是一个用于数据转发的命令行工具,它可以在两个端口之间建立虚拟通道,将数据从一个端口转发到另一个端口,同时支持很多网络协议。

socat支持的常用网络协议

  1. TCP、UDP:传输层协议,用于网络通信。

  1. SSL、TLS:安全传输协议,用于加密数据传输。

  1. HTTP、HTTPS:应用层协议,用于 Web 服务。

  1. SSH:安全 Shell 协议,用于远程登录和文件传输。

  1. FTP、FTPS:文件传输协议,用于文件传输。

  1. SCTP:传输层协议,用于流控制和数据传输。

  1. ICMP:网络层协议,用于网络诊断和错误报告。

  1. IPv4、IPv6:网络层协议,用于 IP 数据包的传输。

  1. Unix 域套接字:本地通信协议,用于进程间通信。

  1. Serial:串口通信协议,用于串口设备的数据传输。

以下是 socat命令的一些常见用法:

安装socat命令


sudo apt-get install socat

用于基于 Debian 的 Linux 发行版,如 Ubuntu、Debian 等。它使用 Advanced Packaging Tool(APT)作为包管理器,用于安装、升级和卸载软件包。

或者


sudo yum install socat

用于基于 Red Hat 的 Linux 发行版,如 CentOS、Fedora 等。它使用 Yellowdog Updater, Modified(YUM)作为包管理器,也用于安装、升级和卸载软件包。

创建TCP连接


socat TCP4:<remote-host>:<port> -

创建UDP连接


socat UDP4:<remote-host>:<port> -

传输文件

将一个文件的内容传输到另一个文件或标准输出:


socat file:/path/to/sourcefile file:/path/to/destfile
socat file:/path/to/sourcefile -

将本地文件的内容传输到远程主机的指定端口上:


socat FILE:<local-file> TCP4:<remote-host>:<port>

使用加密


socat OPENSSL:<remote-host>:<port>,verify=0 -

发送消息到TCP服务器


echo "your message" | socat - TCP4:<server>:<port>

从TCP服务器接收消息


socat - TCP4:<server>:<port>

发送消息到UDP服务器


echo "your message" | socat - UDP4:<server>:<port>

从UDP服务器接收消息


socat - UDP4:<server>:<port>

端口转发

将一个端口的数据转发到另一个端口,例如将本地 8080 端口的 HTTP 请求转发到远程的 8085端口:


socat TCP4-LISTEN:8080,fork TCP4:remotehost:8085

命令执行

将一个命令的输出传输到另一个命令或标准输出:


socat exec:"command1",pty,stderr exec:"command2",pty,stderr
socat exec:"command1" -

加密传输

使用 SSL 或 TLS 协议加密传输数据,例如将本地 8080 端口的 HTTP 请求加密后转发到远程的 443 端口:


socat openssl-listen:8080,fork,cert=server.crt,key=server.key openssl:remotehost:443,cert=client.crt

串口通信

将串口的数据转发到另一个串口或标准输出:


socat /dev/ttyS0 /dev/ttyS1
socat /dev/ttyS0 -

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值