Linux多用途中继Socat命令教程及示例

Linux从系统的角度提供了不同的理念和用例`socat是一个非常有趣的命令,它为我们提供了从不同类型的系统资源(如网络、文件、命令、套接字等)重定向输入和输出的能力。

null

为Debian、Ubuntu、Mint和Kali安装

socat 可以使用以下方法安装基于dpkg的发行版 apt 命令。

$ sudo apt install socat -y
Install For Debian, Ubuntu, Mint and Kali
为Debian、Ubuntu、Mint和Kali安装

为Fedora、CentOS、RHEL安装

我们可以安装Fedora,CentOS和RHEL如下。

$ sudo yum install socat

语法

socat的语法非常简单。我们只需要为输入和输出提供相关的选项。

socat INPUT_TYPE(OPTIONS) OUTPUT_TYPE(OPTIONS)
  • 输入类型指定我们将读取的文件、流或网络套接字
  • 输出类型指定我们将要编写的文件、流或网络套接字
  • OPTIONS指定有关输入或输出的一些配置

类型

类型是指文件、命令、流或网络。输入和输出可以是不同的类型。例如,如果要使用系统命令作为需要指定的类型 SYSTEM 作为输入类型。类型列表

  • 系统
  • 传输控制协议
  • UDP协议
  • 高朋
  • 标准或-
  • 私人股本
  • 管道

选项

选项用于提供有关输入类型的参数和详细信息。选项是在输入后添加的,用分隔符分隔 : . 例如,为了指定管道路径,我们将使用下面的行。

PIPE:/tmp/test/pof

写入标准输出

我们将从简单的例子开始。我们将使用 SYSTEM 并提供命令 ls 然后将输出写入标准输出。

$ socat SYSTEM:ls -
Write To Standard Output
写入标准输出

从标准输入读取

我们也可以读取标准输入。在本例中,我们将从标准输入中读取数据并写入名为 test . 我们将使用 STDIO 指定标准输入。

$ socat STDIO FILE:/home/ismail/test,create

如我们所见,我们提供了文件名作为选项和 create 语句,该语句将在不存在新文件时创建新文件。

相关文章: 如何在命令行MS-DOS中用Set命令列出、设置、获取Windows环境变量?

打开网络套接字和侦听端口

我们也可以将网络套接字用于 socat 。我们将为侦听端口号1234打开TCP和IP版本4端口。这将是分叉进程,其中将创建新进程。输出  将是一个名为 capture 并将新到达的数据附加到文件末尾。

$ socat TCP4-LISTEN:1234,reuseaddr,fork gopen:/home/ismail/capture,seek-end=0,append

附加到文件

我们都准备好了,但我想表达一下 append . append 选项将添加到给定文件的末尾,如下所示。

$ socat FILE:/tmp/test1 FILE:/tmp/test:append

上网冲浪超过标准输出

这可能看起来有点奇怪,但因为我们可以使用不同类型的协议和套接字。我们可以连接一个网页并检索打印到标准输出的网页。在本例中,我们将连接到 poftut.com TCP端口80并打印到标准输出。我们将提供 GET / 从标准输入获取页面。

$ socat - TCP:poftut.com:www,crnl
Surf In The Web Over Standard Output
上网冲浪超过标准输出

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享