被称为nc++,双向数据流通道工具。

假设有这样一个场景

相互通信

创建服务器端,侦听2222端口

socat - tcp4-listen:2222

查看2222端口是否打开

netstat -pantu | grep :2222

客户端连接到服务器端

socat tcp:192.168.1.110:2222

服务端和客户端就能相互通信了

传输文件

服务器端

侦听333端口

socat tcp4-listen:333 open:2.txt,creat,append

客户端

cat 1.txt | socat- tcp:192.168.1.110:333

客户端通过333端口发送一个1.txt文件给服务器端

在服务器端就接收到了文件并保存为2.txt

传递shell

服务器端

socat tcp-l :23 exec:sh,pty,stderr

tcp-l 是tcp4-listen的简写

客户端

socat - tcp:192.168.1.110:23

客户端通过23端口就得到了一个服务器端的shell

端口转发

服务器端

socat tcp4-listen:8080,fork tcp4:192.168.1.1:80

当有客户端来访问本机的8080端口时,就把这个请求做一个转发,转发到80端口,访问8080端口相当于访问192.168.1.1的80端口

在客户端

访问服务器的8080端口,就相当于访问服务器的80端口

UDP协议传输数据

服务器端

socat - udp-l:2000

客户端通过2000端口发送数据

echo "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" | socat - udp-datagram:192.168.1.110:2000

服务器端就接收到了

还可以 socat - udp-datagram:192.168.1.110:2000

服务器端就收到了数据

UDP协议传输命令

服务器端

socat - udp-l:2000

客户端

echo "`id`" | socat - udp-datagram:192.168.1.110:2000

服务器端相当于执行了id命令

UDP全端口任意内容发包

可以做扫描器

客户端

for PORT in {1..65535}; do echo "aaaaa" | socat - UDP4-DATAGRAM:192.168.1.110:$PORT; sleep .1; done

抓包可以看到,客户端在不停地向服务器端的端口发包

搭建简单的web服务器

在服务器端

socat -T 1 -d -d TCP-L:10081,reuseaddr,fork,crlf SYSTEM:"echo -e \"\\\"HTTP/1.0 200 OK\\\nDocumentType: text/plain\\\n\\\ndate: \$\(date\)\\\nserver:\$SOCAT_SOCKADDR:\$SOCAT_SOCKPORT\\\nclient: \$SOCAT_PEERADDR:\$SOCAT_PEERPORT\\\n\\\"\"; cat; echo -e \"\\\"\\\n\\\"\""

打开客户端浏览器输入服务器端的地址以及端口,可以看到返回的信息

socat流量操控的更多相关文章

  1. 流量操控之SSH隧道与端口转发

    目  录 第1章            概述... 3 1.1.         实现命令... 3 1.2.         SSH隧道类型... 3 第2章            SSH隧道... ...

  2. 内网流量操控---pingtunnel建立icmp隧道

    一.pingtunnel工作原理 在上面的实验环境中,我们将分别在攻击机kali 2020和webserver上部署pingtunnel工具,在量太主机之间实现icmp隧道,再在kali2020上监听 ...

  3. 流量操控技术---rinetd

    应用场景 实验机器:monomall防火墙,windows xp ,kali , windows 2003 场景假设,公司对你的办公电脑做了限制只允许53端口出去不能访问互联网. 突破思路:见上图 下 ...

  4. OpenState安装及 Port Knocking 实验

    OpenState安装及 Port Knocking 实验 目录 OpenState安装 Port Knocking 实验 OpenState安装及 Port Knocking 实验 OpenStat ...

  5. kalilinux渗透测试笔记

    声明:本文理论大部分是苑房弘kalilinux渗透测试的内容 第五章:基本工具 克隆网页,把gitbook的书记下载到本地 httrack "http://www.mybatis.org/m ...

  6. kalilinux 渗透测试笔记

    声明:本文理论大部分是苑房弘kalilinux渗透测试的内容 第五章:基本工具 克隆网页,把gitbook的书记下载到本地 httrack "http://www.mybatis.org/m ...

  7. 渗透:dSploit

    dSploit--开源的专业的Android平台安全管理工具包 只能在横屏模式下工作,即使你旋转你的设备也将继续保持横屏,如果你有一个应用程序,如旋转控制器,迫使每一个应用程序旋转,将导致dSploi ...

  8. 【流量劫持】SSLStrip 的未来 —— HTTPS 前端劫持

    前言 在之前介绍的流量劫持文章里,曾提到一种『HTTPS 向下降级』的方案 -- 将页面中的 HTTPS 超链接全都替换成 HTTP 版本,让用户始终以明文的形式进行通信. 看到这,也许大家都会想到一 ...

  9. HTTPS-能否避免流量劫持

    流量劫持是什么? EtherDream在一篇科普文章<>中详细介绍了流量劫持途径和方式. 流量劫持是一种古老的攻击方式,比如早已见惯的广告弹窗等,很多人已经对此麻木,并认为流量劫持不会造成 ...

随机推荐

  1. python库pandas

    由于在机器学习中经常以矩阵的方式来表现数据,那么我们就需要一种数据结构来存储和处理矩阵.pandas库就是这样一个工具. 本文档是一个学习笔记,记录一些常用的命令,原文:http://www.cnbl ...

  2. c++ maps使用

    #include <iostream> #include <stdio.h> #include <memory.h> #include <queue> ...

  3. 搭建eclipse开发环境

    eclipse-jee配置 基本配置: 快捷查找:window->perferences->搜索框搜索 utf8: window->perferences->general-& ...

  4. tkinter widget

    tkinter messagebox

  5. 《算法》第四章部分程序 part 8

    ▶ 书中第四章部分程序,包括在加上自己补充的代码,图中找欧拉路径 ● 无向图中寻找欧拉路径,只注释了与欧拉环不同的地方 package package01; import edu.princeton. ...

  6. Linux的JDK配置

    1.下载jdk-7u1-linux-i586.rpm2.cd 到 jdk-7u1-linux-i586.rpm 所在的目录3.su 获得 root 权限4.执行安装命令: rpm -ivh jdk-7 ...

  7. 白鹭引擎 - 碰撞检测 ( hitTestPoint )

    1, 矩形碰撞检测 class Main extends egret.DisplayObjectContainer { /** * Main 类构造器, 初始化的时候自动执行, ( 子类的构造函数必须 ...

  8. docker利用Dockerfile来制作镜像

    在前面的例子(docker tomcat镜像制作)中,我们从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一 种文件或脚本,我 ...

  9. module模块和包

    import 和 from 调用 module 目录有calc.py 和  test.py 两个文件 calc.py文件内容: def add(x,z): return x+z def sub(x,z ...

  10. js 验证码倒计时

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...