L'aplicació no té cap opció SOCKS, però es pot connectar a una adreça TCP triada. Un adaptador d'objectiu fix pot proporcionar la conversa SOCKS per a una destinació. No cal que es converteixi en un altre proxy directe genèric.

Per a compilacions de socat que ofereixen SOCKS4A, un muntatge il·lustratiu és:

socat TCP4-LISTEN:9443,bind=127.0.0.1,reuseaddr,fork \
  SOCKS4A:127.0.0.1:service.example.net:443,socksport=1080

El punt final SOCKS és el port local 1080. L'adaptador escolta al port local 9443 i demana a aquest punt final service.example.net:443. Són valors d'exemple, no un desplegament complet del servei.

L'adaptador té un objectiu fix

Cada connexió TCP acceptada demana el mateix servei. Una aplicació que es connecta a 9443 aporta els seus bytes de protocol habituals; socat aporta la negociació SOCKS4A. Enviar una nova petició HTTP CONNECT a 9443 no triaria una altra destinació—enviaria aquests bytes cap al servei fix.

SOCKS4A lliura un nom d'amfitrió al punt final SOCKS per a la resolució remota. Això difereix de la forma SOCKS4 que fa servir una adreça triada pel client. L'upstream triat—incloent-hi un candidat públic de la llista de proxys SOCKS4—ha de suportar el tractament de noms d'amfitrió SOCKS4A i l'autenticació necessària; aquest exemple no és una recepta d'inici de sessió amb contrasenya SOCKS5.

Connecteu localment, identifiqueu el servei real

Canviar un URL HTTPS a https://127.0.0.1:9443/ canvia el nom d'amfitrió que el client pot usar per a TLS i HTTP. Un certificat per a service.example.net no es convertirà en un certificat vàlid per a loopback.

On el client admet un encaminament de connexió separat, conserveu la identitat de l'URL original. Curl pot il·lustrar aquesta distinció:

curl --noproxy '*' \
  --connect-to service.example.net:443:127.0.0.1:9443 \
  https://service.example.net/

El sòcol va a l'adaptador local mentre la verificació TLS i la destinació HTTP continuen sent service.example.net. Altres aplicacions necessiten el seu propi control equivalent admès; no tots els clients en proporcionen.

El lligam de loopback limita l'exposició de xarxa, però altres processos locals admissibles encara hi poden arribar. Mantingueu la vida útil del servei i els usuaris adequats. Conserveu la verificació TLS en lloc de suprimir l'error d'identitat causat per un URL de loopback.

Articles relacionats