Aplikace nemá volbu SOCKS, ale může se připojit ke zvolené adrese TCP. Adaptér s pevným cílem může zajistit SOCKS konverzaci pro jeden cíl. Nemusí se stát dalším univerzálním dopředným proxy serverem.

Pro sestavení socat podporující SOCKS4A je ilustrativní uspořádání toto:

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

SOCKS koncový bod je místní port 1080. Adaptér naslouchá na místním portu 9443 a žádá tento koncový bod o service.example.net:443. Jsou to příkladové hodnoty, nikoli úplné nasazení služby.

Adaptér má jeden pevný cíl

Každé přijaté TCP spojení žádá stejnou službu. Aplikace připojující se k 9443 dodává své obvyklé protokolové bajty; socat dodává vyjednávání SOCKS4A. Nový požadavek HTTP CONNECT na 9443 by nezvolil jiný cíl—poslal by tyto bajty dále pevné službě.

SOCKS4A předává koncovému bodu SOCKS název hostitele pro vzdálené rozlišení. To se liší od formy SOCKS4, která používá adresu zvolenou klientem. Zvolený upstream—včetně veřejného kandidáta ze seznamu SOCKS4 proxy—musí podporovat zpracování názvu hostitele SOCKS4A a požadovanou autentizaci; tento příklad není recept na přihlášení heslem SOCKS5.

Připojte se lokálně, poznejte skutečnou službu

Změna adresy HTTPS na https://127.0.0.1:9443/ mění název hostitele, který klient může použít pro TLS a HTTP. Certifikát pro service.example.net se nestane platným certifikátem pro loopback.

Kde klient podporuje samostatné směrování spojení, zachovejte identitu původní adresy. Curl může tento rozdíl ilustrovat:

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

Socket jde k místnímu adaptéru, zatímco ověření TLS a cíl HTTP zůstávají service.example.net. Jiné aplikace potřebují vlastní ekvivalentní podporovanou kontrolu; ne každý klient ji poskytuje.

Vazba loopback omezuje síťovou expozici, ale jiné způsobilé místní procesy k němu stále mohou dosáhnout. Udržujte životnost služby a uživatele přiměřené. Zachovejte ověření TLS místo potlačení chyby identity způsobené adresou loopback.

Související články