socat (SOcket CAT: netcat con esteroides) es un relé para la transferencia de datos bidireccional entre dos canales de datos independientes. Cada uno de estos canales de datos puede ser un archivo, tubería, dispositivo (línea serie, etc. o un pseudo terminal), un socket (UNIX, IP4, IP6 - sin formato, UDP, TCP), un socket SSL, una conexión proxy CONNECT, un archivo descriptor (stdin, etc.), el editor de línea GNU (readline), un programa o una combinación de dos de estos. Estos modos incluyen la generación de sockets de "escucha", canalizaciones con nombre y pseudo terminales.
Algunos de los ejemplos del uso de socat son:
Retransmisión TCP (one-shot o demonio)
Calcetines externos
Interfaz de shell para sockets Unix
Relé IPv6
Reemplazo de netcat y rinetd
Redirigir programas orientados a TCP a una línea serie
Establecer un entorno relativamente seguro (su y chroot) para ejecutar scripts de shell de cliente o servidor dentro de las conexiones de red.
http://www.dest-unreach.org/socat/doc/socat.html#EJEMPLOS
socat 1.8.0.1-x86_64 para Windows 7, 8.1, 10 y 11 y servidor [2024-08-24]
El procedimiento para aquellos que quieran compilar a partir de los archivos fuente.
De lo contrario, para los demás, hay un archivo listo para usar 'socat-1.8.0.1.7z' . Puede descargarlo yendo a: socat-1.8.0.1.7z y procediendo con el método abreviado de teclado (Ctrl + Shift + s).
En primer lugar, si aún no lo ha hecho, descargue e instale Cygwin (última versión): https://www.cygwin.com/setup-x86_64.exe
– gcc-g++
– núcleo gcc
– cygwin32-gcc-g++
– cygwin32-gcc-núcleo
- hacer
– gcc-fortran
– gcc-objc
– gcc-objc++
– libkrb5-devel
– libkrb5_3
– desarrollo libreadline
– desarrollo libssl
– libwrap-devel
– tcp_wrappers
Para hacer esto, intentemos responder la siguiente pregunta: ¿Cómo instalar paquetes en Cygwin? Descargue el instalador de Cygwin y ejecute setup.exe. Haga clic en Siguiente a través de los valores predeterminados y seleccione espejo para descargar paquetes. Busque cada paquete, abra la categoría apropiada (por ejemplo, Net o PHP u otra) y haga clic en Omitir junto a cada paquete para seleccionarlo para su instalación.
Por favor, no olvide descargar la fuente socat desde http://www.dest-unreach.org/socat/
Ejecute Cygwin a través de (Windows + R, 'mintty') y ejecute los siguientes comandos:
cd / && cd cygdrive/c/Users//Desktop [o cd / && cd %USERPROFILE%/Desktop si usa (Windows + R, 'cmd')] wget http://www.dest-unreach.org/socat/download/socat-1.8.0.1.tar.gz tar -xvzf socat-1.8.0.1.tar.gzcd socat-1.8.0.1 ./configurar hacer hacer la instalación
Después de la compilación, copie el directorio 'socat-1.8.0.1' a %ProgramFiles% o a otra ubicación. Tienes que copiar el directorio totalmente y no sólo 'socat.exe', de lo contrario no funcionará.
Precaución: agregue la ruta de socat desde las variables de entorno, con (Windows + R, 'sysdm.cpl', configuración avanzada del sistema). Cierra 'mintty' y vuelve a abrirlo.
Nota (de 'mintty' [cygwin] para verificar el número de versión):
$ socat -V socat por Gerhard Rieger y colaboradores - ver www.dest-unreach.org versión de socat 1.8.0.1 el 24 de agosto de 2024 21:18:20 ejecutándose en CYGWIN_NT-10.0-26100 versión 2024-04-03 17:25 UTC, versión 3.5.3-1.x86_64, máquina x86_64 características: #definir CON_AYUDA 1 #definir CON_STATS 1 #definir CON_STDIO 1 #definir CON_FDNUM 1 #definir CON_FILE 1 #definir CON_CREAT 1 #definir CON_GOPEN 1 #definir CON_TERMIOS 1 #definir CON_PIPE 1 #definir CON_SOCKETPAIR 1 #definir CON_UNIX 1 #undef CON_ABSTRACT_UNIXSOCKET # definir CON_IP4 1 #definir CON_IP6 1 #definir CON_RAWIP 1 #definir CON_GENERICSOCKET 1 #undef CON_INTERFACE #definir CON_TCP 1 #definir CON_UDP 1 #undef CON_SCTP #undef CON_DCCP #undef CON_UDPLITE #definir CON_LISTEN 1 #undef CON_POSIXMQ #definir CON_SOCKS4 1 #definir CON_SOCK S4A 1 #definir CON_SOCKS5 1 #undef CON_VSOCK #undef CON_NAMESPACES #definir CON_PROXY 1 #definir CON_SISTEMA 1 #definir CON_SHELL 1 #definir CON_EXEC 1 #definir CON_READLINE 1 #undef CON_TUN #definir CON_PTY 1 #definir CON_OPENSSL 1 #undef CON_FIPS #definir CON_LIBWRAP 1 #definir CON_SYCLS 1 #definir CON_FILAN 1 #definir CON_RETRY 1 #undef CON_DEVTESTS #definir CON_MSGLEVEL 0 /*depurar*/ #definir CON_DEFAULT_IPV 4
Del comentario de Mugane:
También es posible que desee agregar que es mejor usar Powershell (como administrador) para instalar estos paquetes para cygwin si usa cyg-get:
cyg-get gcc-g++ gcc-core make gcc-fortran gcc-objc gcc-objc++ libkrb5-devel libkrb5_3 libreadline-devel libssl-devel libwrap-devel tcp_wrappers
Si no usa powershell e intenta instalar desde el propio cygwin (incluso como administrador), puede encontrarse con errores crípticos de dll faltantes y terminar necesitando eliminar/reinstalar el propio cygwin para corregir los problemas.
Si los usuarios no tienen cygwin, recomiendo chocolatey (nuevamente de Powershell como administrador):
instalación de choco -y cygwin cyg-get