Een SOCKS-proxy vragen om verbinding te maken met een hostnaam is niet hetzelfde als hem vragen de DNS-records van die hostnaam terug te geven.

De proxy kan de naam oplossen als onderdeel van het tot stand brengen van de gevraagde verbinding. Hij kan de taak ook doorgeven aan een andere geschikte upstream. De client ontvangt een SOCKS-antwoord dat het resultaat van de verbinding beschrijft, geen algemeen DNS-antwoord.

Bij CONNECT beschrijven het gebonden adres en de poort in het antwoord de binding aan serverzijde zoals het protocol die definieert. Behandel BND.ADDR niet als een beloofde kopie van het opgeloste IP van de bestemming.

Als de toepassing alleen de verbinding nodig heeft, kan zij de resulterende stroom gebruiken zonder te weten welk bestemmingsadres de proxy heeft gekozen. Als zij de DNS-gegevens zelf nodig heeft, kies dan een werkelijk DNS-bekwaam interface met de beoogde locatie en het beleid van de resolver.

Dat onderscheid voorkomt ook een misleidende IP-controle: het gebonden adres van de proxy, een bestemmings-IP en de openbare uitgang die de website ziet zijn verschillende waarden. Men moet de ene niet met de naam van de andere aanduiden alleen omdat hij in dezelfde handshake voorkwam.

Gerelateerde artikelen