socat,一个多功能的网络工具,名字来源于SOcket CAT,是netcat的增强版,也就是netcat++(扩展了设计,并有新的实现)。

推荐:socat官方文档
以及 socat - Handling all Kinds of Sockets (pdf)

------------------------------------------------------------------------

0x01 安装

# debian/ubuntu
apt-get install socat # centos/redhat
yum install -y socat

0x02 通过源码安装

在centos或者redhat通过yum安装后的socat,运行报错:

E parseopts(): unknown option "tcpwrap"

这里是版本没编译进去tcpwrap,先卸载当前socat后,再进行源码编译安装:

(目前最新版本是1.7.3.3)

yum install -y tcp_wrappers tcp_wrappers-devel readline-devel openssl-devel
yum install -y gcc v=1.7.3.3
wget http://www.dest-unreach.org/socat/download/socat-${v}.tar.gz
tar zxvf socat-${v}.tar.gz
cd socat-${v}
./configure
make && make install

0x03 windows版socat

git clone https://github.com/StudioEtrange/socat-windows

(暂时不推荐用,存在各种问题)

0x04 fork EXEC

将一个使用标准输入输出的单进程程序变为一个使用fork方法的多进程服务

socat TCP4-LISTEN:,tcpwrap=script,reuseaddr,fork EXEC:"/usr/bin/env python2 -u pcat.py"

(其中TCP4-LISTEN可简写为tcp-l,而python -u表示输出不缓存)

0x05 其他

socat的用途很多,可参见开头列举的文档以及pdf,以后pcat有空再补充。

socat安装使用方法的更多相关文章

  1. 安装Birt方法

    安装BIRT 方法: 博客地址:http://www.mamicode.com/info-detail-850588.html 注意:在 Install new Software 中输入地址:http ...

  2. linux php安装扩展方法 查找配置文件

    如何在linux中查看nginx.apache.php.mysql配置文件路径了,如果你接收一个别人配置过的环境,但没留下相关文档.这时该怎么判断找到正确的加载文件路径了.可以通过以下来判断 1.判断 ...

  3. node安装插件方法

    node安装插件方法有几种,这里列出常用的两种方法: 方法1: 进入要安装插件的目录,直接用 npm 软件安装包安装,如(安装express): cd /project npm install -g ...

  4. windows server 2008见安装IIS方法(解决)

    windows server 2008见安装IIS方法(解决) 刚开始有点蒙,后来才知道原来如此.! . 右键点击[我的电脑]--[管理]--[字符]--[加入角色]--仅落后win7像.啊! 版权声 ...

  5. elasticsearch+kibana+metricbeat安装部署方法

    elasticsearch+kibana+metricbeat安装部署方法 本文是elasticsearch + kibana + metricbeat,没有涉及到logstash部分.通过beat收 ...

  6. RHEL6下获取安装包(RPM)而不安装的方法

    RHEL6下获取安装包(RPM)而不安装的方法 有时候我们只能在某个机器上网获得RPM安装包,如何将RPM包在不能上网的内网机器安装,就需要能将安装包下载到本地而不安装,然后再把这些包复制到内网机器, ...

  7. 哈希长度扩展攻击(Hash Length Extension Attack)利用工具hexpand安装使用方法

    去年我写了一篇哈希长度扩展攻击的简介以及HashPump安装使用方法,本来已经足够了,但HashPump还不是很完善的哈希长度扩展攻击,HashPump在使用的时候必须提供original_data, ...

  8. windows Sever 2012下Oracle 12c安装配置方法图文教程

    windows Sever 2012下Oracle 12c安装配置方法图文教程 Oracle 12c安装配置方法图文教程,具体内容如下 1.我们开启虚拟机 2.Windows Sever 2012启动 ...

  9. 安装rcssmin方法

    #安装rcssmin方法'''pip install wheelpip install rcssmin --install-option="--without-c-extensions&qu ...

随机推荐

  1. 阿里巴巴微服务与配置中心技术实践之道 原创: 坤宇 InfoQ 2018-02-08

    阿里巴巴微服务与配置中心技术实践之道 原创: 坤宇 InfoQ 2018-02-08

  2. Vue引入远程JS文件

    问题 最近在使用 Vue 做东西,用到钉钉扫描登录的功能,这里需要引入远程的 js 文件,因为 Vue 的方式跟之前的不太一样,又不想把文件下载到本地应用,找了一下解决的方法,貌似都需要引入第三方的库 ...

  3. Android高频单词

    Display 显示 Camera 照相机 Bluetooth 蓝牙 Flash Memory 闪存 Audio 音频 Management 管理 SurFace 界面 Media 多媒体 Frame ...

  4. ISO/IEC 9899:2011 条款6.4.3——通用字符名

    6.4.3 通用字符名 语法 1.通用字符名: universal_character-name: \u hex-quad(四位十六进制数) \U hex-quad hex-quad hex-quad ...

  5. 怎么用群晖webdav实现外网映射网络驱动器

    前几天刚作好群晖nas局域网内的磁盘映射功能,今天老板又想实现在家里也能跟在公司一样的方便访问映射功能,因为使用网页操作实在太麻烦了.这可怎么办官方提供的 Assistant工具只能操作局域网的,又没 ...

  6. python常见面试集合

    Python面试题目一.Python1. python的多进程与多线程的运行机制是什么?有什么区别?分别在什么情况下用?2. Python的装饰器的原理是什么,在什么情况会用到装饰器.请手写Pytho ...

  7. 源码安装LNMP

    需要准备的安装包以及下载地址(只是一个大概地址,版本和下载方式需要自行选择): Nginx http://nginx.org/en/download.html nginx主程序包 MySQL http ...

  8. Mysql备份工具mysqldump和mysqlhotcopy

    (1).Mysql备份类型 1)按照备份时对数据库的影响分为 Hot backup(热备):也叫在线备份.指在数据库运行中直接备份,对正在运行的数据库没有任何影响. Cold backup(冷备):也 ...

  9. 使用自定义Comparator对TreeSet中的数据进行多条件排序

    代码记录(需求:根据店铺等级和店铺到某个点的距离进行排序,其中店铺等级由高到低,距离由近及远) 需要排序的对象Store,Store.java package com.zhipengs.work.te ...

  10. 搭建一个超好用的 cmdb 系统

    10 分钟为你搭建一个超好用的 cmdb 系统 CMDB 是什么,作为 IT 工程师的你想必已经听说过了,或者已经烂熟了,容我再介绍一下,以防有读者还不知道.CMDB 的全称是 Configurati ...