← retour aux snippets

socat: rediriger des ports et pipes rapidement

Créer des tunnels TCP/UNIX/STDIO pour tests: proxy local, echo-server, conversion UNIX<->TCP.

bash network #socat#proxy#tcp

objectif

Monter rapidement des ponts réseau pour déboguer ou exposer un service local.

code minimal

# proxy local: écoute 8080 et redirige vers 127.0.0.1:80
socat TCP-LISTEN:8080,fork TCP:127.0.0.1:80

utilisation

# transformer un socket UNIX en TCP
socat TCP-LISTEN:9000,fork UNIX-CONNECT:/var/run/app.sock

# client simple (STDIN/STDOUT)
echo "ping" | socat - TCP:data.pm:80

variante(s) utile(s)

# TLS client (si socat compilé avec openssl)
socat - OPENSSL:data.pm:443,verify=0

notes

  • utile quand ssh -L ne convient pas (UNIX sockets).
  • attention à la sécurité; exposez uniquement en local si nécessaire.