{{tag>Réseau}} = Notes socat Dance, Socat Dance ! Voir aussi : * [[OpenSSL Proxy http_proxy]] / proxytunnel Voir également spiped : * http://www.tarsnap.com/spiped.html * http://www.daemonology.net/blog/2012-08-30-protecting-sshd-using-spiped.html Voir : * netsed * http://blog.chmd.fr/ssh-over-ssl-episode-2-replacing-proxytunnel-with-socat.html * http://www.dest-unreach.org/socat/doc/socat-gender.txt * http://www.dest-unreach.org/socat/doc/socat-genericsocket.html * http://mikeferrier.com/2013/07/13/using-nmap-and-socat-to-get-around-public-internet-port-restrictions/ * https://blog.docker.com/2013/09/docker-joyent-openvpn-bliss/ Exemple socat TCP4-LISTEN:10053,reuseaddr,fork,su=nobody TCP4:10.9.0.6:10050 Mais la bonne solution est : iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 10053 -j DNAT --to-destination 10.9.0.6:10050 iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE == TUN === TUN Server socat -d -d TCP-LISTEN:11443,reuseaddr TUN:192.168.255.1/24,up After starting this command, socat will wait for a connection and then create a TUN pseudo network device with address 192.168.255.1; the bit number specifies the mask of the network that is pretended to be connected on this interface. === TUN Client socat TCP:1.2.3.4:11443 TUN:192.168.255.2/24,up This command should establish a connection to the server and create the TUN device on the client. === OpenVPN http://serverfault.com/questions/580442/tunnel-over-http-server OpenVPN sur le port 443 socat TCP-LISTEN:9999,bind=localhost OPENSSL:proxy.example.com:443 === Socket Unix https://www.ffdn.org/wiki/doku.php?id=documentation:openvpn:fdn socat /var/run/openvpn.management.serveur EXEC:"echo kill foo@vpn.fdn.fr" echo "status 3" | socat stdio /var/run/openvpn.mgmt === Tunnel SSH Over SCTP http://0x27.me/2015/07/27/SSH-Over-SCTP.html assuming you want the SCTP socket to listen on port 80/SCTP and sshd is on 22/TCP socat SCTP-LISTEN:80,fork TCP:localhost:22 replace SERVER_IP with IP of listening server, and 80 with whatever port the SCTP listener is on :) socat TCP-LISTEN:1337,fork SCTP:SERVER_IP:80 replace username and -p port value as needed... ssh -lusername localhost -D 8080 -p 1337 # === Décapsuler HTTPS socat TCP-LISTEN:8082,reuseaddr,pf=ip4,fork OPENSSL:192.168.51.142:443,verify=0 == Autres echo "GET hosts" | socat - TCP4:127.0.0.1:6557,crnl socat -ls TCP4-LISTEN:443,fork,reuseaddr TCP4:10.96.0.1:443