Una respuesta SOCKS no es el resultado de una consulta DNS
Distinga el uso del nombre de host del lado del proxy de una API de consultas DNS e interprete correctamente la dirección vinculada de un SOCKS CONNECT.
Pedir a un proxy SOCKS que se conecte a un nombre de host no es lo mismo que pedirle que devuelva los registros DNS de ese nombre.
El proxy puede resolver el nombre como parte del establecimiento de la conexión solicitada. También puede pasar la tarea a otro upstream adecuado. El cliente recibe una respuesta SOCKS que describe el resultado de la conexión, no una respuesta DNS general.
En CONNECT, la dirección vinculada y el puerto de la respuesta describen el enlace del lado del servidor definido por el protocolo. No trate BND.ADDR como una copia prometida de la IP resuelta del destino.
Si la aplicación solo necesita la conexión, puede usar el flujo resultante sin saber qué dirección de destino eligió el proxy. Si necesita los propios datos DNS, elija una interfaz realmente capaz de DNS con la ubicación y la política del resolutor previstas.
Esa distinción también evita una comprobación de IP engañosa: la dirección vinculada del proxy, una IP de destino y la salida pública que ve el sitio web son valores distintos. No se debe etiquetar uno como otro solo porque apareció en el mismo handshake.