Aplicația nu are opțiune SOCKS, dar se poate conecta la o adresă TCP aleasă. Un adaptor cu țintă fixă poate furniza conversația SOCKS pentru o singură destinație. Nu trebuie să devină un alt proxy de redirecționare generic.

Pentru compilările socat care oferă SOCKS4A, o configurare ilustrativă este:

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

Punctul final SOCKS este portul local 1080. Adaptorul ascultă pe portul local 9443 și cere acelui punct final service.example.net:443. Acestea sunt valori de exemplu, nu o implementare completă a serviciului.

Adaptorul are o singură țintă fixă

Fiecare conexiune TCP acceptată cere același serviciu. O aplicație care se conectează la 9443 furnizează octeții săi obișnuiți de protocol; socat furnizează negocierea SOCKS4A. Trimiterea unei noi cereri HTTP CONNECT către 9443 nu ar selecta altă destinație—ar trimite acei octeți mai departe către serviciul fix.

SOCKS4A furnizează un nume de gazdă punctului final SOCKS pentru rezolvare la distanță. Aceasta diferă de forma SOCKS4 care folosește o adresă aleasă de client. Upstreamul ales—inclusiv un candidat public din lista de proxy SOCKS4—trebuie să accepte gestionarea numelor de gazdă SOCKS4A și autentificarea necesară; acest exemplu nu este o rețetă de autentificare cu parolă SOCKS5.

Conectați-vă local, identificați serviciul real

Schimbarea unui URL HTTPS în https://127.0.0.1:9443/ schimbă numele de gazdă pe care clientul îl poate folosi pentru TLS și HTTP. Un certificat pentru service.example.net nu va deveni un certificat valid pentru loopback.

Unde clientul acceptă rutare separată a conexiunii, păstrați identitatea URL-ului original. Curl poate ilustra această distincție:

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

Socketul merge la adaptorul local, în timp ce verificarea TLS și destinația HTTP rămân service.example.net. Alte aplicații au nevoie de propriul control echivalent acceptat; nu fiecare client îl oferă.

Legarea loopback limitează expunerea în rețea, dar alte procese locale eligibile o pot atinge în continuare. Mențineți durata de viață a serviciului și utilizatorii corespunzători. Păstrați verificarea TLS în loc să suprimați eroarea de identitate cauzată de un URL loopback.

Articole similare