In applikaasje hat gjin SOCKS-opsje, mar kin ferbine mei in keazen TCP-adres. In adapter mei fêst doel kin it SOCKS-petear foar ien bestimming leverje. It hoecht gjin nije algemiene trochstjoerproxy te wurden.

Foar socat-builts mei SOCKS4A is in yllustrative opstelling:

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

It SOCKS-einpunt is lokale poarte 1080. De adapter harket op lokale poarte 9443 en freget dat einpunt om service.example.net:443. Dit binne foarbyldwearden, gjin folsleine tsjinstútfiering.

De adapter hat ien fêst doel

Elke akseptearre TCP-ferbining freget deselde tsjinst. In applikaasje dy't mei 9443 ferbynt, leveret syn normale protokolbytes; socat leveret de SOCKS4A-ûnderhanneling. In nij HTTP CONNECT-fersyk nei 9443 soe gjin oar bestimming kieze—it soe dy bytes trochstjoere nei de fêste tsjinst.

SOCKS4A jout in hostnamme oan it SOCKS-einpunt foar oplossing op ôfstân. Dat ferskilt fan 'e SOCKS4-foarm mei in troch de klant keazen adres. De keazen upstream—ynklusyf in iepenbiere kandidaat út 'e SOCKS4-proksylist—moat SOCKS4A-hostnammeôfhanneling en de fereaske autentikaasje stypje; dit foarbyld is gjin SOCKS5-wachtwurd-oanmeldingsresep.

Ferbine lokaal, identifisearje de echte tsjinst

It feroarjen fan in HTTPS-URL nei https://127.0.0.1:9443/ feroaret de hostnamme dy't de klant foar TLS en HTTP brûke mei. In sertifikaat foar service.example.net wurdt gjin jildich sertifikaat foar loopback.

Wêr't de klant aparte ferbiningsrouting stipet, behâld de identiteit fan 'e oarspronklike URL. Curl kin dat ferskil yllustrearje:

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

De socket giet nei de lokale adapter, wylst TLS-ferifikaasje en it HTTP-doel service.example.net bliuwe. Oare applikaasjes hawwe har eigen lykweardige stipete kontrôle nedich; net elke klant leveret ien.

De loopback-binding beheint netwurkbleatstelling, mar oare geskikte lokale prosessen kinne it noch berikke. Hâld de tsjinstlibbensdoer en brûkers passend. Behâld TLS-ferifikaasje ynstee fan it identiteitsflater fan in loopback-URL te ûnderdrukken.

Relatearre artikelen