Centos7 安装socat,以及使用。

前言(socat介绍)

socat官网:http://www.dest-unreach.org/socat/
git仓库地址:https://repo.or.cz/socat.git

socat 是一个多功能的网络工具,用于在 Linux 和 Unix 系统中进行双向数据传输。它的名字来源于 “Socket CAT”,表示它可以像 cat 命令那样处理数据流,但主要针对网络套接字和其他数据源和目的地。
它可以被看作是 netcat(nc)的超级集,因为它不仅支持 TCP/UDP 流,还支持多种其他类型的连接。
Socat是在两个独立的数据通道之间进行双向数据传输的中继。这些数据通道中的每一个都可以是文件、管道、设备(串行线等或伪终端)、套接字(UNIX、IP4、IP6 - raw、UDP、TCP)、SSL套接字、代理CONNECT连接、文件描述符(stdin等)、GNU行编辑器(readline)、程序或这两者的组合。这些模式包括生成“监听”套接字、命名管道和伪终端。socat可以使用,例如,作为TCP端口转发器(一次性或守护程序),作为外部套接字器,用于攻击弱防火墙,作为UNIX套接字的外壳接口,IP6中继,用于将面向TCP的程序重定向到串行线,逻辑地连接不同计算机上的串行线,或建立一个相对安全的环境(su和chroot),用于运行具有网络连接的客户端或服务器shell脚本。

一、 socat安装

  1. 使用yum软件包管理工具安装

    [root@192 yum.repos.d]# yum -y install socat
    
  2. 下载源码包编译安装

    [root@192 ~]# yum -y install wget gcc gcc-c++
    [root@192 ~]# wget http://www.dest-unreach.org/socat/download/socat-1.8.0.0.tar.gz
    [root@192 ~]# tar -zxvf socat-1.8.0.0.tar.gz
    [root@192 ~]# cd socat-1.8.0.0
    [root@192 socat-1.8.0.0]# ./configure 
    [root@192 socat-1.8.0.0]# make && make install
    [root@192 socat-1.8.0.0]# socat -V
    socat by Gerhard Rieger and contributors - see www.dest-unreach.org
    socat version 1.8.0.0 on Sep  8 2024 01:12:06
    running on Linux version #1 SMP Mon Oct 19 16:18:59 UTC 2020, release 	3.10.0-1160.el7.x86_64, machine x86_64  
    

二、socat使用

基本用法:
socat [options] <address> <address>

  • options:指定 socat 的各种参数和选项。
  • <address1>:可以是本地或远程的 IP 地址、域名、端口、UNIX 套接字等。
  • <address2>:同上,通常是另一个地址或命令。

1. 参数介绍

-V: 打印版本和可用的特性信息
-h:打印帮助信息
-hh:像-h一样,加上所有可用地址选项的简短名称列表。
-hhh: 像-hh一样,加上所有可用地址选项名称的列表。
-d: 打印致命、错误、警告和通知消息。
-D: 在开始传输阶段之前记录有关文件描述符的信息。
-ly:将消息写入syslog而不是stderr;用-d选项定义的严重性。

2. socat使用实践

2.1. 端口转发

将本地端口的流量转发到远程服务器的端口。

2.1.1. 转发TCP端口
socat TCP-LISTEN:8080,fork TCP:remotehost:80
2.1.2. 转发UDP端口
socat UDP-LISTEN:5000,fork UDP:remotehost:5000
或者
socat UDP-RECV:5000,fork UDP-SENDTO:remotehost:5000
  • TCP-LISTEN:8080 : 监听本地8080
  • fork: 这个选项告诉 socat 为每个接受的连接创建一个子进程。这样,每个连接都在一个独立的进程中处理,允许同时处理多个连接。
  • TCP:remotehost:80 : 远程服务器地址端口协议

2.2. 监听多个端口

socat TCP-LISTEN:80,fork TCP-LISTEN:443,fork

暂时用到的功能只有端口转发后,后面在使用到时在补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值