Uma resposta SOCKS não é o resultado de uma consulta DNS
Distinga o uso do nome do host no lado do proxy de uma API de consulta DNS e interprete corretamente o endereço vinculado de um SOCKS CONNECT.
Pedir a um proxy SOCKS que se conecte a um nome de host não é o mesmo que pedir que ele devolva os registros DNS desse nome.
O proxy pode resolver o nome como parte do estabelecimento da conexão solicitada. Também pode encaminhar a tarefa para outro upstream adequado. O cliente recebe uma resposta SOCKS que descreve o resultado da conexão, não uma resposta DNS genérica.
Para CONNECT, o endereço vinculado e a porta na resposta descrevem a vinculação do lado do servidor definida pelo protocolo. Não trate BND.ADDR como uma cópia prometida do IP resolvido do destino.
Se a aplicação só precisa da conexão, pode usar o fluxo resultante sem saber qual endereço de destino o proxy escolheu. Se precisa dos próprios dados de DNS, escolha uma interface realmente capaz de DNS com a localização e a política do resolvedor pretendidas.
Essa distinção também evita uma verificação de IP enganosa: o endereço vinculado do proxy, um IP de destino e a saída pública que o site vê são valores diferentes. Não se deve rotular um como o outro só porque apareceu no mesmo handshake.