Sovelluksella ei ole SOCKS-vaihtoehtoa, mutta se voi yhdistää valittuun TCP-osoitteeseen. Kiinteän kohteen sovitin voi tarjota SOCKS-keskustelun yhdelle kohteelle. Sen ei tarvitse muuttua uudeksi yleiseksi välityspalvelimeksi.

SOCKS4A:n tarjoaville socat-koonnille havainnollistava järjestely on:

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

SOCKS-päätepiste on paikallinen portti 1080. Sovitin kuuntelee paikallista porttia 9443 ja pyytää tältä päätepisteeltä service.example.net:443. Nämä ovat esimerkkiarvoja, eivät täydellinen palvelun käyttöönotto.

Sovittimella on yksi kiinteä kohde

Jokainen hyväksytty TCP-yhteys pyytää samaa palvelua. Porttiin 9443 yhdistävä sovellus toimittaa tavalliset protokollatavunsa; socat toimittaa SOCKS4A-neuvottelun. Uusi HTTP CONNECT -pyyntö porttiin 9443 ei valitsisi toista kohdetta—se lähettäisi ne tavut eteenpäin kiinteälle palvelulle.

SOCKS4A antaa isäntänimen SOCKS-päätepisteelle etäselvitystä varten. Tämä eroaa SOCKS4-muodosta, joka käyttää asiakkaan valitsemaa osoitetta. Valitun ylävirran—mukaan lukien julkinen ehdokas SOCKS4-välityspalvelinluettelosta—on tuettava SOCKS4A-isäntänimien käsittelyä ja vaadittua todennusta; tämä esimerkki ei ole SOCKS5-salasanakirjautumisohje.

Yhdistä paikallisesti, tunnista todellinen palvelu

HTTPS-osoitteen muuttaminen muotoon https://127.0.0.1:9443/ muuttaa isäntänimeä, jota asiakas voi käyttää TLS:ään ja HTTP:hen. service.example.net-osoitteen varmenne ei muutu kelvolliseksi varmenteekksi loopbackille.

Kun asiakas tukee erillistä yhteyden reititystä, säilytä alkuperäisen osoitteen identiteetti. Curl voi havainnollistaa tätä eroa:

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

Pistoke menee paikalliselle sovittimelle, kun taas TLS-varmennus ja HTTP-kohde pysyvät service.example.netinä. Muut sovellukset tarvitsevat oman vastaavan tuetun hallintansa; kaikki asiakkaat eivät tarjoa sitä.

Loopback-sidonta rajoittaa verkkonäkyvyyttä, mutta muut kelvolliset paikalliset prosessit voivat yhä tavoittaa sen. Pidä palvelun elinikä ja käyttäjät sopivina. Säilytä TLS-varmennus sen sijaan, että vaimentaisit loopback-osoitteen aiheuttaman identiteettivirheen.

Aiheeseen liittyvät artikkelit