Mense behandel socks5h as socks5 met 'n vriendeliker spelling en verwag dat albei dieselfde versoek na dieselfde plek stuur. Die ekstra letter verskuif eerder die DNS-opsoek. Op 'n masjien waar die oplosser en die proxy in verskillende netwerke sit, is dit die verskil tussen 'n versoek wat werk en een wat misluk.

Een letter, twee oplossers

Die skema bepaal waar die bestemming se naam 'n adres word. Plaaslike oplossing gebruik die oplosser wat op jou masjien ingestel is. Afgeleë oplossing sit die gasheernaam binne die SOCKS-versoek, en die proxy soek dit op met sy eie oplosser en sy eie blik op die netwerk. Albei vorms maak steeds aan dieselfde proxy-adres op dieselfde poort vas, so die verskil sit in die versoekliggaam, nie in die roete nie.

Niks aan die skema verander enkripsie of verifikasie nie; net die DNS-roete skuif. Daarom is die letter maklik om te ignoreer en duur om verkeerd te kry.

Dieselfde proxy, ander versoek

Die twee aanroepe verskil met 'n enkele karakter. Alles anders aan hulle is identies:

curl --proxy socks5://proxy.example:1080 https://service.example/
curl --proxy socks5h://proxy.example:1080 https://service.example/

Die curl-proxyverwysing beskryf hierdie skemas afsonderlik, en dit is die gesaghebbende rede om hulle nie as aliasse te behandel nie. Voer albei teen 'n onskadelike eindpunt uit waarvoor jy gemagtig is en lees die verskil. 'n Suksesvolle afgeleë opsoek sê niks oor ander toepassings nie, want blaaiers, pakketbestuurders en taalwekkers kies elkeen self.

Die proxy se eie naam word plaaslik opgelos

In daardie opdrag moet proxy.example 'n adres word voordat enigiets anders gebeur, en daardie opsoek is altyd plaaslik. Om service.example se oplossing na die proxy te skuif, doen niks vir die proxy se eie naam nie, want dit het steeds 'n oplosser nodig wat jou masjien kan bereik. Dit is waar 'n VPN die prentjie verander.

As die proxynaam net binne die tonnel oplos, hang die verbinding daarvan af dat die tonnel op is voordat curl begin. Watter skema dan wen, hang af van watter kant kan antwoord. Wanneer jou masjien die bestemming nie kan oplos nie maar die proxy kan, misluk socks5 en slaag socks5h. Wanneer jou masjien dit deur die tonnel oplos en die proxy dit nie kan nie, werk socks5 en misluk socks5h.

Die skema plaas nie die verbinding na die proxy binne of buite die VPN nie; die routeringstabel doen dit, en die skema sien dit nooit. Daarom kan een tonnel een skema regmaak en die ander op dieselfde masjien breek. Die letter bepaal net wie die vraag vra.

Wat elke kant kan oplos

n Publieke proxy kan nie 'n naam oplos wat net binne die maatskappy bestaan nie, so om die gasheernaam daarheen te stuur misluk by die proxy en kom na vore as 'n proxy-fout eerder as 'n plaaslike DNS-fout. 'n Proxy binne dieselfde private netwerk kan daardie name gewoonlik oplos, en dit is waar socks5h sy geld werd is. Kies die plek van die oplosser op grond van die beleid wat jy werklik nodig het, want afgeleë DNS is nie outomaties bekwamer nie en dit gee die naam wel aan 'n derde party. Vir 'n publieke bestemming werk albei vorms, so verkies die een wat jou ander gereedskap al gebruik.

Skryf daardie keuse in die runbook eerder as in 'n kommentaar, en hou aanmeldingsdata uit gedeelde geskiedenis en diagnostiese uitvoer. Verander dan een veranderlike op 'n slag: dieselfde bestemming, dieselfde program, dieselfde oplosser, een letter.

Watter program het geantwoord

Twee curl-programme op dieselfde masjien kan in weergawe en boukenmerke verskil. In 'n Unix-agtige dop lys type -a curl elke ooreenstemming op die pad en curl --version wys die kenmerke van die een wat sou loop. 'n Omhulskrip of 'n alias vroeër in die pad is 'n algemene rede waarom resultate nie pas by die program wat jy dink jy toets nie.

'n Onondersteunde skema, 'n proxy wat die naam nie kan oplos nie, en 'n onbereikbare bestemming is drie verskillende foute, so lees die boodskap voordat jy die letter verander. 'n Bou sonder die socks5h-sintaksis rapporteer die proxystring as onondersteun, wat nie dieselfde is as 'n naam wat nie opgelos kon word nie. Moenie een ou verslag oor 'n stelsel-curl in 'n permanente reël vir elke platform verander nie.

Verwante artikels