SOCKS5 og SOCKS5h: hvor blir DNS-navnet slått opp?
Sammenlign DNS-oppslag lokalt og hos proxyen i curl, finn årsaken til navneoppslagsfeil og forstå grensene for beskyttelsen i socks5h.
Velg socks5h:// i curl dersom proxyen skal slå opp navnet på målet. Velg socks5:// dersom curl skal gjøre oppslaget lokalt og sende en adresse til proxyen. Begge bruker SOCKS5; den siste h er en konvensjon for klientens URL-er.
Sett inn ditt SOCKS5-endepunkt i stedet for det lokale lyttepunktet og sammenlign modusene:
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/Det er bare oppslagsmodusen som endres. --noproxy '' fjerner omgåelsesreglene for disse kallene, og tidsgrensene setter rammer for sammenligningen. De tilsvarende særskilte valgene er --socks5 og --socks5-hostname. Bruk et vertsnavn som mål: en direkte oppgitt IP-adresse krever ikke noe oppslag av målnavnet og kan ikke demonstrere forskjellen.
Et navn kan være kjent bare på den ene siden
Tenk deg at proxyen kjører i et utviklingsnettverk der DNS kjenner navnet til en intern tjeneste. Den bærbare maskinen din klarer kanskje ikke å slå opp navnet med socks5, mens socks5h overlater oppslaget til proxyen. Hvis navnet i stedet bare finnes i hosts-filen på maskinen din, kan det være oppslaget på den andre siden som feiler.
Også offentlig DNS kan returnere ulike adresser fra ulike nettverk. Forskjellige resultater tilsier at du bør sammenligne adressene som blir valgt, og om de kan nås, fremfor å bytte ut proxyen straks.
- Kan ikke slå opp proxyens vertsnavn: ingen av modusene kommer i gang. Klienten slår fremdeles opp
proxy.exampleisocks5h://proxy.example:1080. - Lokalt oppslag av målet feiler: se på klientens resolver eller sammenlign med modusen der proxyen får vertsnavnet.
- SOCKS-serveren nekter tilgang til målet: se på svaret og tilgangsreglene. At et lokalt oppslag lykkes, viser ikke at målet kan nås fra den andre siden.
- Tunnelen virker, men sertifikatverifiseringen feiler: undersøk TLS hos målet; å velge en annen DNS-modus løser ikke tillitsproblemer generelt.
Med et testnavn du selv kontrollerer og logger fra serveren kan du bekrefte hvilken adressetype en proxy du administrerer, mottok. Det kan ikke en nettside som viser utgående IP: den forteller om forbindelsen ut, ikke hvor DNS-oppslaget ble gjort.
Personverngevinsten har klare grenser
Oppslag på proxysiden unngår lokalt oppslag av målet for denne forespørselen. Det krypterer ikke SOCKS, viser ikke at proxyen bruker kryptert DNS og ruter ikke trafikk fra andre apper eller nettleserens forhåndshenting. Requests med SOCKS-støtte har samme skille mellom oppslag lokalt og hos proxyen; andre klienter kan bruke en innstilling i stedet for curls URL-form. Velg en protokoll som appen din støtter før du henter et endepunkt fra listen over SOCKS5-proxyer.