Proxychains DNS: por que os nomes de host recebem endereços IP sintéticos
Explique o mapeamento sintético de endereços DNS do proxychains-ng e distinga um marcador interno do destino real ou do endereço de saída.
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.