Att be en SOCKS-proxy ansluta till ett värdnamn är inte samma sak som att be den returnera DNS-posterna för det värdnamnet.

Proxyn kan lösa namnet som en del av att upprätta den begärda anslutningen. Den kan också skicka uppgiften vidare till en annan lämplig uppström. Klienten tar emot ett SOCKS-svar som beskriver anslutningsresultatet, inte ett allmänt DNS-svar.

För CONNECT beskriver svarets bundna adress och port den serverbindning som protokollet definierar. Behandla inte BND.ADDR som en utlovad kopia av destinationens upplösta IP.

Om applikationen bara behöver anslutningen kan den använda den resulterande strömmen utan att veta vilken destinationsadress proxyn valde. Om den behöver själva DNS-data, välj ett faktiskt DNS-kapabelt gränssnitt med avsedd resolverplats och -policy.

Den skillnaden förhindrar också en missvisande IP-kontroll: proxyns bundna adress, en destinations-IP och den offentliga utgång som webbplatsen ser är olika värden. Man bör inte kalla den ena för den andra bara för att den dök upp i samma handskakning.

Relaterade artiklar