curl socks5h versus socks5: kes lahendab hostinime
Lisatäht liigutab DNS-päringut, mitte krüpteerimist. Võrrelge mõlemat vormi ja seejärel kontrollige, milline hostinimi vajab endiselt kohalikku resolverit.
Inimesed kohtlevad socks5h kui socks5 sõbralikuma kirjaviisiga ja eeldavad, et mõlemad saadavad sama päringu samasse kohta. Lisatäht liigutab hoopis DNS-päringut. Masinas, mille resolver ja proxy asuvad eri võrkudes, on see vahe päringu vahel, mis töötab, ja päringu vahel, mis ebaõnnestub.
Üks täht, kaks resolverit
Skeem otsustab, kus sihtkoha nimi muutub aadressiks. Kohalik lahendus kasutab teie masinas seadistatud resolverit. Kauglahendus paneb hostinime SOCKS-päringu sisse ja proxy otsib selle oma resolveri ja oma võrguvaatega. Mõlemad vormid ühenduvad endiselt sama proxy aadressiga samal pordil, seega on erinevus päringu kehas, mitte teekonnas.
Miski skeemis ei muuda krüpteerimist ega autentimist; liigub ainult DNS-teekond. Seetõttu on tähte lihtne eirata ja kallis valesti teha.
Sama proxy, erinev päring
Kaks kutset erinevad ühe märgi võrra. Kõik muu on neis identne:
curl --proxy socks5://proxy.example:1080 https://service.example/
curl --proxy socks5h://proxy.example:1080 https://service.example/The curl proxy viide dokumenteerib need skeemid eraldi ja see on autoriteetne põhjus, miks neid aliasteks mitte pidada. Käivitage mõlemad kahjutu lõpp-punkti vastu, mida teil on lubatud kasutada, ja lugege erinevust. Õnnestunud kaugotsing ei ütle teiste rakenduste kohta midagi, sest brauserid, paketihaldurid ja keeleajutid valivad igaüks ise.
Proxy enda nimi lahendatakse kohapeal
Selles käsus peab proxy.example muutuma aadressiks enne, kui midagi muud juhtub, ja see otsing on alati kohalik. service.example lahenduse proxy peale liigutamine ei tee proxy enda nime jaoks midagi, mis vajab endiselt resolverit, millele teie masin ligi pääseb. Siin muudab VPN pilti.
Kui proxy nimi laheneb ainult tunnelis, sõltub ühendus sellest, et tunnel oleks üleval enne, kui curl algab. Milline skeem siis võidab, sõltub sellest, kumb pool suudab vastata. Kui teie masin ei suuda sihtkohta lahendada, aga proxy suudab, siis socks5 ebaõnnestub ja socks5h õnnestub. Kui teie masin lahendab selle tunneli kaudu ja proxy ei suuda, siis socks5 töötab ja socks5h ebaõnnestub.
Skeem ei aseta ühendust proxyga VPN-i sisse ega välja; seda teeb marsruutimistabel ja skeem ei näe seda kunagi. Seetõttu võib üks tunnel parandada ühe skeemi ja lõhkuda teise samas masinas. Täht otsustab ainult, kes küsimuse esitab.
Mida kumbki pool lahendada suudab
Avalik proxy ei suuda lahendada ainult ettevõttes eksisteerivat nime, seega hostinime saatmine sinna ebaõnnestub proxy juures ja ilmub proxy veana, mitte kohaliku DNS veana. Sama privaatvõrgu sees olev proxy suudab selliseid nimesid tavaliselt lahendada ja just seal teenib socks5h end ära. Valige resolveri asukoht poliitika järgi, mida tegelikult vajate, sest kaug-DNS ei ole automaatselt võimekam ja see annab nime tõepoolest kolmandale osapoolele. Avaliku sihtkoha jaoks töötavad mõlemad vormid, seega eelistage seda, mida teie teised tööriistad juba kasutavad.
Kirjutage see valik runbooki, mitte kommentaari, ja hoidke mandaadid jagatud ajaloost ja diagnostikaväljundist väljas. Seejärel muutke korraga üht muutujat: sama sihtkoht, sama binaarfail, sama resolver, üks täht.
Milline binaarfail vastas
Kaks curli binaarfaili samas masinas võivad erineda versiooni ja buildeomaduste poolest. Unixi-laadses kestas loetleb type -a curl kõik teekonnal olevad vasted ja curl --version näitab selle omadusi, mis käivituks. Mähisskript või varjunimi teekonna varasemas osas on tavaline põhjus, miks tulemused ei vasta binaarfailile, mida te arvate end testivat.
Toetamata skeem, proxy, mis ei suuda nime lahendada, ja kättesaamatu sihtkoht on kolm erinevat viga, seega lugege sõnumit enne, kui tähte muudate. Build ilma socks5h süntaksita teatab proxy stringi toetamatuna, mis ei ole sama, mis nimi, mida ei õnnestunud lahendada. Ärge muutke üht vana aruannet süsteemse curli kohta püsivaks reegliks iga platvormi jaoks.