SOCKS5 eller SOCKS5h: hvor skjer DNS-oppslaget?
Sammenlign lokale DNS-oppslag og oppslag hos proxyen i curl, undersøk navneoppslagsfeil og forstå hva socks5h beskytter og ikke beskytter.
I curl velger du socks5h:// når proxyen skal slå opp målnavnet. Velg socks5:// når curl skal slå det opp lokalt og sende en adresse til proxyen. Begge bruker SOCKS5; den avsluttende h er en URL-konvensjon hos klienten.
Sammenlign modusene ved å erstatte det lokale lyttepunktet med ditt SOCKS5-endepunkt:
curl --noproxy '' --proxy socks5://127.0.0.1:1080 --connect-timeout 5 --max-time 15 --verbose https://example.com/
curl --noproxy '' --proxy socks5h://127.0.0.1:1080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Bare oppslagsmodusen endres. --noproxy '' fjerner reglene for å omgå proxyen for disse kallene, og tidsgrensene avgrenser sammenligningen. De tilsvarende egne valgene er --socks5 og --socks5-hostname. Bruk et vertsnavn som mål: en IP-adresse skrevet direkte trenger ikke noe oppslag av målet og kan ikke vise forskjellen.
Et navn kan bare være kjent på én side
Anta at proxyen kjører i et utviklingsnett der DNS kjenner navnet på en intern tjeneste. Den bærbare datamaskinen din kan mislykkes med å slå opp navnet i modusen socks5, mens socks5h lar proxyen gjøre oppslaget. Snu situasjonen, med et navn som bare er definert i maskinens hosts-fil, og det eksterne oppslaget kan i stedet mislykkes.
Offentlig DNS kan også gi forskjellige adresser fra forskjellige nettverk. Ulike resultater er en grunn til å sammenligne de valgte adressene og om de kan nås, heller enn å bytte proxy med en gang.
- Proxyens vertsnavn kan ikke slås opp: ingen av modusene kan starte. Klienten slår fortsatt opp
proxy.exampleisocks5h://proxy.example:1080. - Lokalt oppslag av målet mislykkes: undersøk klientens resolver, eller sammenlign med modusen som sender vertsnavnet til proxyen.
- SOCKS-serveren avviser målet: undersøk svaret og reglene. Et vellykket lokalt oppslag beviser ikke at målet er tilgjengelig fra den andre siden.
- Tunnelen virker, men sertifikatkontrollen mislykkes: undersøk TLS på målet; en annen DNS-modus er ingen generell løsning på tillitsproblemer.
Et testnavn du kontrollerer og serverlogger kan bekrefte hvilken adressetype som nådde en proxy du administrerer. En nettside som viser utgående IP, kan ikke det: den beskriver den utgående forbindelsen, ikke hvor DNS-oppslaget skjedde.
Personvernfordelen har et bestemt omfang
Oppslag hos proxyen unngår det lokale oppslaget av målet for denne forespørselen. Det krypterer ikke SOCKS, beviser ikke at proxyen bruker kryptert DNS, og sender ikke trafikk fra andre programmer eller nettleserens forhåndshenting gjennom proxyen. Requests med SOCKS-støtte bruker samme skille mellom lokale oppslag og oppslag hos proxyen; andre klienter kan tilby en innstilling i stedet for curls URL-skrivemåte. Velg en protokoll programmet støtter før du kopierer et endepunkt fra listen over SOCKS5-proxyer.