A resolução de DNS via Socks depende do cliente. Você tem que dizer explicitamente ao aplicativo para pesquisar DNS via Socks.
A resolução de nomes é, assim como a conexão com um host, feita por chamadas do sistema, como gethostbyname() ou getaddrinfo() .
A menos que seja instruído de outra forma, um programa pode apenas usar essa função para resolução de nomes, o que, é claro, não sabe sobre o seu túnel.
Por exemplo, o curl procura apenas DNS ao especificar socks5h:// , não apenas socks5:// .