socat 是一种多功能的网络工具,可以在 Linux 系统上进行各种网络连接和数据传输操作。以下是 socat 的一些常见使用方法,并附带测试例子。

  1. TCP 服务器和客户端连接:

    • 创建 TCP 服务器:socat TCP-LISTEN:8080,reuseaddr,fork
    • 创建 TCP 客户端并连接到服务器:socat TCP:localhost:8080
  2. UDP 服务器和客户端连接:

    • 创建 UDP 服务器:socat UDP-LISTEN:1234,reuseaddr,fork
    • 创建 UDP 客户端并发送数据到服务器:echo 'Hello' | socat - UDP:localhost:1234
  3. TCP 和 UDP 之间的转发:

    • 将 TCP 流量转发到 UDP:socat TCP-LISTEN:8080,reuseaddr,fork UDP:localhost:1234
    • 将 UDP 流量转发到 TCP:socat UDP-LISTEN:1234,reuseaddr,fork TCP:localhost:8080
  4. 串口通信:

    • 从串口读取数据:socat -d -d -lf /dev/null /dev/ttyS0,raw,echo=0,crnl
    • 向串口发送数据:echo 'Hello' | socat - /dev/ttyS0,raw,echo=0,crnl
  5. 使用 SSL/TLS 加密:

    • 创建 SSL/TLS 服务器:socat OPENSSL-LISTEN:443,cert=server.crt,key=server.key,verify=0 TCP:localhost:8080
    • 创建 SSL/TLS 客户端并连接到服务器:socat OPENSSL:localhost:443,verify=0 TCP:localhost:8080

这些只是一些 socat 的基本用法,你还可以使用更多选项和参数来满足特定的需求。请注意,socat 的命令语法可能会因不同的系统而有所差异,所以请根据你的系统文档或 man 手册来查看详细的命令用法和选项。

测试例子

下面提供一个简单的例子,创建一个 TCP 服务器监听端口 8080,并将客户端发送的数据打印出来。

步骤 1:启动 TCP 服务器 在一个终端中运行以下命令:

socat TCP-LISTEN:8080,reuseaddr,fork SYSTEM:'echo Received: && cat'

步骤 2:连接服务器并发送数据 在另一个终端中运行以下命令来连接到服务器并发送数据:

echo 'Hello, world!' | socat - TCP:localhost:8080

步骤 3:查看服务器输出 你将在第一个终端中看到类似以下输出:

Received:
Hello, world!
Linux socat 使用方法详解:全面的教程和测试例子

原文地址: https://www.cveoy.top/t/topic/pgs0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录