socat (SOcket CAT : netcat sous stéroïdes) est un relais pour le transfert de données bidirectionnel entre deux canaux de données indépendants. Chacun de ces canaux de données peut être un fichier, un canal, un périphérique (ligne série, etc. ou un pseudo-terminal), un socket (UNIX, IP4, IP6 - raw, UDP, TCP), un socket SSL, une connexion proxy CONNECT, un fichier descripteur (stdin etc.), l'éditeur de ligne GNU (readline), un programme ou une combinaison de deux d'entre eux. Ces modes incluent la génération de sockets « d'écoute », de canaux nommés et de pseudo-terminaux.
Voici quelques exemples d'utilisation de socat :
Relais TCP (one-shot ou démon)
Stabilisateur de chaussettes externe
Interface Shell vers les sockets Unix
Relais IPv6
Remplacement de Netcat et Rinetd
Redirection des programmes orientés TCP vers une ligne série
Établir un environnement relativement sécurisé (su et chroot) pour exécuter des scripts shell client ou serveur au sein des connexions réseau.
http://www.dest-unreach.org/socat/doc/socat.html#EXAMPLES
socat 1.8.0.1-x86_64 pour Windows 7, 8.1, 10 et 11 et serveur [2024-08-24]
La procédure pour ceux qui souhaitent compiler à partir des fichiers sources.
Sinon pour les autres, il existe un fichier prêt à l'emploi 'socat-1.8.0.1.7z' . Vous pouvez le télécharger en allant sur : socat-1.8.0.1.7z et en procédant par raccourci clavier (Ctrl + Shift + s).
Tout d'abord, si ce n'est pas encore fait, téléchargez et installez Cygwin (dernière version) : https://www.cygwin.com/setup-x86_64.exe
– gcc-g++
– gcc-core
– cygwin32-gcc-g++
– cygwin32-gcc-core
- faire
– gcc-fortran
– gcc-objc
– gcc-objc++
– libkrb5-devel
-libkrb5_3
– libreadline-développement
– libssl-devel
– libwrap-développement
– tcp_wrappers
Pour ce faire, essayons de répondre à la question suivante : Comment installer des packages sur Cygwin ? Téléchargez le programme d'installation de Cygwin et exécutez setup.exe. Cliquez sur Suivant via les valeurs par défaut et sélectionnez miroir pour télécharger les packages. Recherchez chaque package, ouvrez la catégorie appropriée (par exemple Net ou PHP ou autre), et cliquez sur Sauter à côté de chaque package pour le sélectionner pour l'installation.
S'il vous plaît, n'oubliez pas de télécharger la source socat depuis http://www.dest-unreach.org/socat/
Exécutez Cygwin via (Windows + R, 'mintty') et exécutez les commandes suivantes :
cd / && cd cygdrive/c/Users//Desktop [ou cd / && cd %USERPROFILE%/Desktop si vous utilisez (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 ./configurer faire faire installer
Après la compilation, copiez le répertoire « socat-1.8.0.1 » dans %ProgramFiles% ou un autre emplacement. Vous devez copier le répertoire totalement et pas seulement 'socat.exe', sinon cela ne fonctionnera pas.
Attention : Ajoutez le chemin du socat à partir des variables d'environnement, avec (Windows + R, 'sysdm.cpl', paramètres système avancés). Fermez « mintty » et rouvrez-le.
Remarque (depuis 'mintty' [cygwin] pour vérifier le numéro de version) :
$ socat-V socat par Gerhard Rieger et contributeurs - voir www.dest-unreach.org socat version 1.8.0.1 le 24 août 2024 21:18:20 exécuté sur CYGWIN_NT-10.0-26100 version 2024-04-03 17:25 UTC, version 3.5.3-1.x86_64, machine x86_64 fonctionnalités : #define WITH_HELP 1 #define WITH_STATS 1 #define WITH_STDIO 1 #define WITH_FDNUM 1 #define WITH_FILE 1 #define WITH_CREAT 1 #define WITH_GOPEN 1 #define WITH_TERMIOS 1 #define WITH_PIPE 1 #define WITH_SOCKETPAIR 1 #define WITH_UNIX 1 #undef WITH_ABSTRACT_UNIXSOCKET # définir AVEC_IP4 1 #définir AVEC_IP6 1 #définir AVEC_RAWIP 1 #définir AVEC_GENERICSOCKET 1 #undef AVEC_INTERFACE #définir AVEC_TCP 1 #définir AVEC_UDP 1 #undef AVEC_SCTP #undef AVEC_DCCP #undef AVEC_UDPLITE #définir AVEC_LISTEN 1 #undef AVEC_POSIXMQ #définir AVEC_SOCKS4 1 #de bien AVEC_SOCKS4A 1 #définir AVEC_SOCKS5 1 #undef AVEC_VSOCK #undef AVEC_NAMESPACES #définir AVEC_PROXY 1 #définir AVEC_SYSTEM 1 #définir AVEC_SHELL 1 #définir AVEC_EXEC 1 #définir AVEC_READLINE 1 #undef AVEC_TUN #définir AVEC_PTY 1 #définir AVEC_OPENSSL 1 #undef AVEC_FIPS #définir AVEC_LIBWRAP 1 # définir AVEC_SYCLS 1 #définir AVEC_FILAN 1 #définir AVEC_RETRY 1 #undef AVEC_DEVTESTS #définir AVEC_MSGLEVEL 0 /*debug*/ #définir AVEC_DEFAULT_IPV 4
D'après le commentaire de Mugane :
Je voudrais également ajouter qu'il est préférable d'utiliser Powershell (en tant qu'administrateur) pour installer ces packages pour cygwin si vous utilisez 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 vous n'utilisez pas PowerShell et essayez d'installer à partir de Cygwin lui-même (même en tant qu'administrateur), vous risquez de rencontrer des erreurs de DLL manquantes cryptiques et cryptiques et de devoir supprimer/réinstaller Cygwin lui-même pour corriger les problèmes.
Si les utilisateurs n'ont pas cygwin, je recommande chocolatey (encore une fois depuis Powershell en tant qu'administrateur) :
choco install -y cygwin cyg-get