Kies in curl socks5h:// als de proxy de bestemmingsnaam moet omzetten. Kies socks5:// als curl dat lokaal moet doen en een adres naar de proxy moet sturen. Beide gebruiken SOCKS5; de laatste h is een URL-conventie van de client.

Vergelijk de modi door de lokale luisteraansluiting te vervangen door je eigen SOCKS5-eindpunt:

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/

Alleen de resolutiemodus verandert. --noproxy '' wist de regels voor het omzeilen van de proxy voor deze aanroepen; de tijdslimieten begrenzen de vergelijking. De gelijkwaardige afzonderlijke opties zijn --socks5 en --socks5-hostname. Gebruik een hostnaam als doel: een rechtstreeks opgegeven IP-adres vereist geen naamresolutie voor de bestemming en kan dit verschil dus niet laten zien.

Een naam kan maar aan één kant bekend zijn

Stel dat de proxy binnen een ontwikkelnetwerk draait waarvan DNS de naam van een interne dienst kent. Je laptop kan die naam in de modus socks5 mogelijk niet omzetten, terwijl socks5h de proxy dat laat doen. Draai de situatie om, met een naam die alleen in het hosts-bestand van je laptop staat, en juist de externe resolutie kan mislukken.

Ook publieke DNS kan vanuit verschillende netwerken andere adressen teruggeven. Verschillende resultaten zijn een reden om de gekozen adressen en hun bereikbaarheid te vergelijken, in plaats van meteen de proxy te vervangen.

  • De hostnaam van de proxy kan niet worden omgezet: geen van beide modi kan beginnen. Je client zet nog steeds proxy.example in socks5h://proxy.example:1080 om.
  • Lokale naamresolutie voor de bestemming mislukt: onderzoek de resolver van de client of vergelijk met de modus die de hostnaam naar de proxy stuurt.
  • De SOCKS-server weigert de bestemming: onderzoek het antwoord en het beleid. Een geslaagde lokale lookup bewijst niet dat de bestemming vanaf de andere kant bereikbaar is.
  • De tunnel werkt, maar certificaatcontrole mislukt: onderzoek TLS op de bestemming; een andere DNS-modus is geen algemene oplossing voor vertrouwensproblemen.

Met een testnaam onder je eigen controle en serverlogs kun je bevestigen welk adrestype een door jou beheerde proxy heeft bereikt. Een webpagina die het uitgaande IP toont kan dat niet: die meldt de uitgaande verbinding, niet waar DNS is afgehandeld.

Het privacyvoordeel heeft een duidelijk bereik

Naamresolutie door de proxy voorkomt de lokale lookup van de bestemming voor dit verzoek. Het versleutelt SOCKS niet, bewijst niet dat de proxy versleutelde DNS gebruikt en leidt het verkeer van andere toepassingen of browser-prefetching niet om. Requests met SOCKS-ondersteuning gebruikt hetzelfde onderscheid tussen lokale resolutie en resolutie door de proxy; andere clients bieden mogelijk een instelling in plaats van de URL-notatie van curl. Kies een protocol dat je toepassing ondersteunt voordat je een eindpunt uit de lijst met SOCKS5-proxy’s kopieert.

Gerelateerde artikelen