Chiedere a un proxy SOCKS di connettersi a un nome host non equivale a chiedergli di restituire i record DNS di quel nome.

Il proxy può risolvere il nome come parte dell'instaurazione della connessione richiesta. Può anche passare il compito a un altro upstream adeguato. Il client riceve una risposta SOCKS che descrive l'esito della connessione, non una risposta DNS generica.

Per CONNECT, l'indirizzo associato e la porta nella risposta descrivono il binding lato server definito dal protocollo. Non trattare BND.ADDR come una copia promessa dell'IP risolto della destinazione.

Se l'applicazione ha bisogno solo della connessione, può usare il flusso risultante senza sapere quale indirizzo di destinazione abbia scelto il proxy. Se ha bisogno dei dati DNS stessi, scegliere un'interfaccia realmente in grado di DNS con la posizione e la politica del resolver previste.

Tale distinzione evita anche un controllo IP fuorviante: l'indirizzo associato del proxy, un IP di destinazione e la uscita pubblica visibile al sito sono valori diversi. Non si deve etichettare l'uno come l'altro solo perché è comparso nella stessa stretta di mano.

Articoli correlati