O tráfego de redirecionamento do Windows para um nome DNS diferente não é um endereço IP fixo (equivalente ao arquivo hosts)

5

Usando o arquivo de hosts do Windows, pode-se redirecionar o tráfego de um domínio para um endereço IP específico, por exemplo,

domainA.com --> 127.0.0.1

Estou procurando uma maneira SIMPLES de fazer o mesmo, mas para um nome de domínio de destino não para um endereço IP de destino (pois isso é dinâmico), por exemplo,

domainA.com --> domainB.com

Adição: Depois de obter algumas respostas iniciais, acho que preciso concretizar minha pergunta.

Situação: Eu tenho um aplicativo que procura o IP do domínio de destino via DNS e, em seguida, se conecta via HTTP ao endereço IP. Eu não tenho controle sobre configurações de proxy.

Opção 1 Basicamente eu estou procurando uma maneira de:

  • interceptar solicitações de DNS para um domainA.com
  • inicie uma solicitação de DNS para um domainB.com
  • veicule o IP de domainB.com em resposta ao pedido de domainA.com

Sem executar um servidor DNS inteiro.

Opção 2 Se um servidor DNS é a única maneira, na alternativa eu também ficaria feliz com uma solução para como definir um servidor DNS não-padrão para um único aplicativo. Alguma idéia para aplicativos de wrapper, etc?

    
por ARF 25.02.2011 / 18:17

4 respostas

1

Terceira solução

ao lado de configurar um servidor dns e injetar um gancho em gethostbyname:

Registre um script como um serviço que periodicamente resolve domainB.com e modifica a entrada de domainA.com no arquivo / etc / hosts. Como a maioria das entradas do DNS não muda com muita frequência, é suficiente executar o script na inicialização ou uma vez por dia.

Estou usando esse script para atualizar a lista de bloqueio de domínio em meus computadores domésticos.

    
por 27.10.2011 / 13:30
5

Editar - Depois de reler a sua pergunta, eu não acho que isso será possível sem um servidor DNS local para apontar como o arquivo hosts suporta apenas FQDN - > IP. No entanto, acho que sua melhor aposta será algum tipo de servidor proxy de redirecionamento local ou um addon que possa reescrever cabeçalhos de host.

No entanto, escrevi um guia em que você pode estar interessado, o que, esperamos, explicará as coisas um pouco melhor para você ...:

Isso não é muito fácil de explicar, então se você tiver alguma dúvida, escreva nos comentários e terei prazer em ajudar:

Isso não é possível MAS colocando os resultados IP no mesmo resultado final.

Lembre-se de que, no final do dia, tudo o que acontece sempre que você segmenta um FQDN (nome de domínio totalmente qualificado) é que ele traduz esse endereço para um endereço IP.

Se você quiser encaminhar alguém que esteja visitando domainA.com para domainB.com , basta colocar o ip domainB.com como domainA.com no arquivo hosts.

Isso resulta em QUALQUER COBERTA de segmentação / visita de domainA.com em vez de ser redirecionada para domainB.com .

CONTUDO Acredito que você queira redirecionar um site. Os sites são muito mais complicados do que isso, parte do protocolo envia algo conhecido como Host Header . É aqui que o navegador da Web entra em contato com o servidor da Web AND informa o endereço que está tentando acessar.

Por exemplo, visitar o Google.com mostra o seguinte:

(observealinhaHost:).

VocêtambémpodevisitaroGoogle.comatravésdoseuendereçoIP- link - Isso porque eles têm uma entrada padrão que atende a todas as solicitações < strong> NOT correspondendo a um cabeçalho de host.

Portanto, quando você visitar domainA.com , é possível que domainB.com esteja veiculando apenas domainB.com content para alguém com um cabeçalho de host definido como domainB.com .

O que você precisa fazer é usar um servidor proxy, Firewall (DPI) ou algum tipo de complemento que realmente reescreve o cabeçalho / redirecionamentos do host. Como alternativa, se você controlar o servidor da Web domainB.com, basta adicionar domainA.com aos endereços que ele escutará - e, em seguida, qualquer cabeçalho de host com domainA.com - ele responderá com o conteúdo de domainB.com .

Adicionando cabeçalhos de host de adição no IIS:

    
por 25.02.2011 / 19:47
1

Você pode configurar essas ações de redirecionamento com o Privoxy .

    
por 25.02.2011 / 19:52
1

Solução para a opção 2

No caso de alguém mais ter esse problema no futuro: É possível interceptar solicitações DNS de um único aplicativo sem usar o arquivo hosts, o que afeta todas as funções.

Veja o CodeProject "Interceptar e reescrever solicitações de DNS usando expressões regulares" de Dan Farino

    
por 26.02.2011 / 23:44