URL: https://linuxfr.org/forums/astucesdivers/posts/webr%C3%A9seau-socat Title: [Web/Réseau] Socat Authors: Whoo Date: 2007年11月10日T15:45:18+01:00 Tags: firefox Score: 0 C'est le petit couteau suisse du réseau. Certains connaissent déjà netcat ...(nc). Socat permet de lier presque n'importe quoi vers n'importe quoi. TCP -> UDP TCP -> FICHIER TCP -> EXECUTABLE OPENSSL -> FICHIER (Socket unix, pipe, un serveur proxy, ...) **Enfin bref, n'importe quoi vers n'importe quoi.** L'utilisation principale est d'en faire un relais réseau: socat tcp4-listen:9999,reuseaddr,fork tcp4:google.com:80 - le reuseaddr c'est pour éviter les problèmes avec le CTRL+C) - le fork c'est pour avoir plusieurs connexions Socat, permet ainsi de créer un point d'entrée sur le port 9999 directement vers google.com:80 socat tcp4-listen:9999,reuseaddr,fork exec:"cat /proc/meminfo" puis tester : telnet 127.0.0.1 9999 (et hop le meminfo) Mais le plus intéressant c'est le **SSL** pour les paranos: **D'abord générer un certficat x509 **(self signé ou plus, si vous êtes riches :)) openssl genrsa -out server.key 1024 openssl req -x509 -key server.key -out server.crt -days 365 -new socat openssl-listen:9999, cert=server.crt,key=server.key,reuseaddr,fork exec:"cat /proc/meminfo" puis tester: openssl s_client -connect 127.0.0.1:9999 ou encore socat openssl-listen:9999,cert=server.crt,key=server.key,reuseaddr,fork tcp4:google.com:80 puis: firefox https://127.0.0.1:9999 Mais là tout le monde peut se connecter... il est possible de faire une **authentification par certificat** pour limiter les accès. openssl genrsa -out client.key 1024 openssl req -key client.key -out client.csr -new openssl x509 -CA server.crt -CAkey server.key -in client.csr -req -CAcreateserial -out client.crt socat openssl-listen:9999,cert=server.crt,key=server.key, cafile=server.crt,reuseaddr,fork,verify=1,cipher=HIGH:3DES:MD5 file:/proc/cpuinfo,rdonly puis tester: openssl s_client -host 127.0.0.1 -port 9999 -cert client.crt -key client.key **Voila amusez vous bien.** @+ Dominique D. note 1: pour plus de sécurité il faut ajouter -des3 lors de la génération des clefs pour avoir une passphrase. note 2: http://www.dest-unreach.org/socat/