socat SOCKS-Brécken: den TLS-Hostnumm vun der Websäit erhalen
Benotzt e Loopback-TCP-Listener fir een SOCKS-Zil, wärend Dir d'HTTP- an TLS-Identitéit an der Applikatioun erhalet.
Eng Applikatioun huet keng SOCKS-Optioun, awer kann sech mat enger gewielter TCP-Adress verbannen. En Adapter mat fixem Zil kann d'SOCKS-Gespréich fir een Zil liwweren. En muss net nach en aneren allgemenge Forward-Proxy ginn.
Fir socat-Builden mat SOCKS4A ass eng illustrativ Arrangement:
socat TCP4-LISTEN:9443,bind=127.0.0.1,reuseaddr,fork \
SOCKS4A:127.0.0.1:service.example.net:443,socksport=1080
Den SOCKS-Endpunkt ass de lokale Port 1080. Den Adapter lauschtert um lokale Port 9443 a freet dësen Endpunkt no service.example.net:443. Dëst si Beispillwäerter, keng komplett Service-Deployement.
Den Adapter huet een fixe Zil
All ugeholl TCP-Verbindung freet dee selwechte Service. Eng Applikatioun, déi sech mat 9443 verbënnt, liwwert hir normal Protokollbytes; socat liwwert d'SOCKS4A-Verhandlung. Eng nei HTTP CONNECT-Ufro op 9443 géif keen aneren Zil wielen—se géif dës Bytes weider un de fixe Service schécken.
SOCKS4A liwwert en Hostnumm un den SOCKS-Endpunkt fir d'Fernopstellung. Dat ënnerscheet sech vun der SOCKS4-Form, déi eng vum Client gewielten Adress benotzt. Den gewielten Upstream—och e ëffentleche Kandidat aus der SOCKS4-Proxy-Lëscht—muss d'SOCKS4A-Hostnummbehandlung an déi néideg Authentifikatioun ënnerstëtzen; dëst Beispill ass keng SOCKS5-Passwuert-Umeldung.
Verbannt Iech lokal, identifizéiert dee richtege Service
Eng HTTPS-URL op https://127.0.0.1:9443/ z'änneren ännert den Hostnumm, deen de Client fir TLS an HTTP benotze kann. E Certificat fir service.example.net gëtt keen gültege Certificat fir Loopback.
Wou de Client separat Verbindungsrouting ënnerstëtzt, behält d'Identitéit vun der ursprénglecher URL. Curl kann deen Ënnerscheed illustréieren:
curl --noproxy '*' \
--connect-to service.example.net:443:127.0.0.1:9443 \
https://service.example.net/
De Socket geet un den lokalen Adapter, wärend TLS-Verifikatioun an den HTTP-Zil service.example.net bleiwen. Aner Applikatioune brauchen hir eegen equivalent ënnerstëtzt Kontroll; net all Client liwwert eng.
D'Loopback-Bindung limitéiert d'Netzwierkexpositioun, awer aner berechtegt lokal Prozesser kënnen se nach erreechen. Halt d'Liewensdauer vum Service an d'Benotzer passend. Behielt d'TLS-Verifikatioun, amplaz den Identitéitsfehler duerch eng Loopback-URL ze ënnerdrécken.