Socat

Socat est un formidable outil pour manipuler tout type de sockets. Son utilisation est relativement simple puisqu'il ne prend grosso modo que deux paramètres (deux sockets).

Exemples d'utilisation

Connexion à une socket unix

# socat READLINE UNIX:/var/imap/socket/lmtp
220 lei.asyd.net LMTP Cyrus v2.2.12 ready

Mini proxy

Cette commande me permet de me connecter (en http, via ma station de travail) depuis mon poste en VPN sur un équipement n'acceptant les connexions que depuis une plage IP fixe.

# socat -vv TCP4-LISTEN:8080,reuseaddr,fork TCP4:192.168.66.2:80 

Mini reverse proxy http/https

Objectif : rendre accessible un serveur HTTP en HTTPS

# socat -vv OPENSSL-LISTEN:443,cert=cert.pem,cafile=cacert.pem,cert=cert.key,reuseaddr,fork  TCP4:192.168.34.65:80

Communication avec un port série

Vous n'aimez ni minicom, ni cu ?

socat READLINE OPEN:/dev/ttyS1,ispeed=9600,ospeed=9600,crnl,sane,echo=false,raw

S'abonner à un groupe multicast

Permet de s'abonner au groupe multicast 225.226.1.4 via l'interface réseau eth1, et d'afficher les données (attention pour ma part je n'ai eu que le premier paquet d'affiché). Dans tous les cas, cela permet de faire un tcpdump/snoop

socat  UDP4-RECVFROM:1234,ip-add-membership=225.226.1.4:eth1,fork,reuseaddr STDOUT
 
outils/reseaux/socat.txt · Dernière modification: 2010/07/02 19:25 par asyd