Linux socat 使用方法详解:全面的教程和测试例子
socat 是一种多功能的网络工具,可以在 Linux 系统上进行各种网络连接和数据传输操作。以下是 socat 的一些常见使用方法,并附带测试例子。
-
TCP 服务器和客户端连接:
- 创建 TCP 服务器:
socat TCP-LISTEN:8080,reuseaddr,fork - 创建 TCP 客户端并连接到服务器:
socat TCP:localhost:8080
- 创建 TCP 服务器:
-
UDP 服务器和客户端连接:
- 创建 UDP 服务器:
socat UDP-LISTEN:1234,reuseaddr,fork - 创建 UDP 客户端并发送数据到服务器:
echo 'Hello' | socat - UDP:localhost:1234
- 创建 UDP 服务器:
-
TCP 和 UDP 之间的转发:
- 将 TCP 流量转发到 UDP:
socat TCP-LISTEN:8080,reuseaddr,fork UDP:localhost:1234 - 将 UDP 流量转发到 TCP:
socat UDP-LISTEN:1234,reuseaddr,fork TCP:localhost:8080
- 将 TCP 流量转发到 UDP:
-
串口通信:
- 从串口读取数据:
socat -d -d -lf /dev/null /dev/ttyS0,raw,echo=0,crnl - 向串口发送数据:
echo 'Hello' | socat - /dev/ttyS0,raw,echo=0,crnl
- 从串口读取数据:
-
使用 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
- 创建 SSL/TLS 服务器:
这些只是一些 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!
原文地址: https://www.cveoy.top/t/topic/pgs0 著作权归作者所有。请勿转载和采集!