Um programa sob proxychains resolve um nome de host comum para uma faixa de endereços desconhecida. Esse endereço pode ser um valor contábil dentro do invólucro, e não uma resposta DNS da internet.

No seu modo proxy-DNS, o proxychains-ng pode memorizar um nome de host, devolver um endereço sintético à aplicação e depois traduzir esse valor de volta para o nome de host quando a conexão interceptada é aberta através de um proxy.

O marcador não é o IP de saída

A configuração de exemplo documenta proxy_dns e remote_dns_subnet. A faixa de mapeamento reservada é configurável. Não é um endereço que você deva esperar pingar ou publicar como origem pública do proxy.

Isso depende de as chamadas de pesquisa de nome e conexão relevantes serem interceptadas dentro do processo pretendido. Um programa que realiza o próprio DNS por outro mecanismo, armazena o marcador para uso posterior não relacionado ou contorna o caminho do socket conectado pode comportar-se de forma diferente.

Essa limitação explica por que um endereço sintético num log não é, por si só, prova de que toda a aplicação usa DNS remoto corretamente. Da mesma forma, um utilitário DNS separado fora do processo encapsulado não testa a conexão mapeada da aplicação.

Distinga o marcador da aplicação, o endereço de destino real escolhido no lado do proxy e a saída pública observada pelo site. Eles desempenham funções diferentes e não precisam coincidir.

Ao depurar, mantenha o nome de host nas suas anotações e identifique o processo encapsulado exato e a configuração. Substituir manualmente um marcador suspeito pode descartar o mapeamento de que o invólucro precisava para recuperar esse nome de host, transformando uma indireção compreensível numa conexão ao destino errado.

Artigos relacionados