SOCAT
被称为nc++
建立双向数据流通通道工具
命令由两个部分组成
连接端口
socat - tcp:1.1.1.1:80
- 表示标准的输入输出
帧听端口
socat - tcp4-listen:22
socat - tcp-l:333
接收文件
socat tcp4-listen:333 open:2.txt,creat,append
发送文件
cat 1.txt | socat - tcp4:1.1.1.1:333
远程shell——服务端
socat tcp-l:23 exec:sh,pty,stderr
端口转发
socat tcp4-listen:22,fork tcp4:1.1.1.1:22
fork 每当有新的访问时,复刻当前连接,产生一个子进程
远程执行命令
服务器端 socat - udp-l:2001
客户端 echo “`id`” | socat - udp4-datagram:1.1.1.1:2001
UDP全端口任意内容发包
for PORT in {1..65535}; do echo "aaaaa" | socat - UDP4-DATAGRAM: 1.1.1.1:$PORT; sleep .1; done
二进制编辑器
echo -e "\0\14\0\0\c" | socat -u - file:/usr/bin/ squid.exe,seek,seek=0x00074420
-u 单向数据传输
做简单的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\
\\"\""