Arquivo host não redirecionando

1

Estou brincando com meu arquivo host do Windows 10 para entender melhor como ele funciona e até agora não consegui redirecionar um endereço.

Estou tentando redirecionar o yahoo.com ou o www.yahoo.com para o 216.58.209.36 (www.google.com), im colocando:

216.58.209.36  yahoo.com
216.58.209.36  www.yahoo.com

Mas quando eu tento carregá-lo no meu navegador, ele me diz

This site can’t be reached

www.yahoo.com took too long to respond.

Alguém sabe o que estou fazendo de errado?
Eu também tentei limpar meu histórico de navegação.

    
por c.neria 21.05.2017 / 01:19

4 respostas

3

Acredito que você está entendendo mal o objetivo do arquivo hosts.txt .

Se tudo o que importa é o TL; DR (longo demais; não leu), vá até a parte inferior da resposta. O que se segue é uma explicação do que está acontecendo, para ajudá-lo a entender por que você está obtendo os resultados que está obtendo.

hosts.txt (geralmente /etc/hosts em sistemas semelhantes a Unix) fornece um mapeamento entre um nome de host e um endereço IP. Em geral, o resolvedor de nomes de sistema é configurado para preferir hosts.txt entradas sobre DNS, de modo que hosts.txt possa ser usado como uma substituição de DNS. Isso é útil principalmente nos casos em que nomes locais não existem no DNS, mas você simplesmente não possui hosts suficientes em sua rede para garantir a configuração de um servidor DNS autoritário totalmente local com tudo o que isso implica.

No entanto, a navegação na Web moderna depende muito mais do que apenas o nome para o mapeamento de endereços IP.

O processo típico é semelhante a:

  1. O usuário insere um URL no campo de endereço do navegador ou, de outro modo, aciona uma solicitação da web
  2. O navegador pesquisa o nome do host da URL, para um endereço IP e se conecta a esse endereço IP
  3. O navegador configura uma sessão HTTPS, se a URL for uma URL https://
    • O navegador é interrompido se o certificado apresentado não corresponder ao nome do host na URL
  4. O navegador informa ao servidor da Web remoto para fornecer o caminho /something/whatever do nome do host a partir do URL
  5. O servidor da Web remoto responde com o recurso solicitado ou, normalmente, um erro se a solicitação não puder ser atendida por algum motivo
  6. O navegador interpreta e exibe ou age sobre os dados recebidos do servidor da web remoto
    • Se os dados recebidos forem um redirecionamento, o processo começa na etapa 1 com esse URL

Ao editar hosts.txt , você altera somente o que acontece na etapa 2 acima. A navegação na Web é muito mais complexa do que apenas uma pesquisa de nomes!

Observe também que os navegadores da Web às vezes implementam a própria sua função de pesquisa de nomes, em vez de descarregar para o resolvedor fornecido pelo sistema operacional. Nesse caso, mesmo o passo 2 não necessariamente lhe dará o resultado desejado, porque ele pode muito bem seguir o caminho de delegação de nome normal da raiz do DNS, para que você obtenha a mesma resposta que faria de outra forma; Nesse caso, hosts.txt nunca é consultado!

Notavelmente, o navegador ainda estará esperando um certificado para o nome do host específico na URL na etapa 3; e informará ao servidor da Web remoto o nome do host que você forneceu na etapa 4.

Como é improvável que os servidores da web do Google sejam configurados para veicular www.yahoo.com , seja por HTTP ou HTTPS, isso não ocorrerá mais tarde entre as etapas 4 e 5 (o servidor da Web remoto não pode fornecer o recurso solicitado).

Eu não tenho uma boa explicação para por que você está recebendo um tempo limite ao invés de uma resposta de erro do servidor web, mas o meio de falha é em grande parte com o servidor remoto, então eu suspeito que esteja bem dentro tem o direito de não responder de forma alguma quando questionado sobre um host que simplesmente não conhece.

E, claro, se você está apenas experimentando, não há necessidade de usar o Yahoo ou o Google. Em vez disso, há endereços IP da Internet e nomes de host especificamente reservados, por exemplo, para fins de documentação que são bons para isso. Por exemplo, você pode usar 192.0.2.100 para o endereço IP e test.example.com para o nome do host, pois nenhum deles pertence a ninguém em particular. Isso, ou RFC 1918 space (10.0.0.0 a 10.255.255.255, 172.16.0.0 a 172.31.255.255 ou 192.168.0.0 até 192.168.255.255), mas você ainda desejaria um nome de domínio correspondente, para o qual aqueles reservados fossem bons.

TL; DR:

Se você quiser ver que sua entrada hosts.txt está fazendo o que deveria, abra um prompt de comando e emita o comando ping -n 1 www.yahoo.com (no seu caso). Ele deve responder com o endereço IP que você configurou. O -n 1 faz com que apenas um único pedido de eco seja enviado, porque tudo o que realmente nos interessa são os resultados da pesquisa de nomes.

Eu preferiria nslookup www.yahoo.com , mas aparentemente no Windows nslookup não olha para hosts.txt . (No Linux, isso geralmente acontece, porque ele pede ao resolvedor do sistema e o resolvedor de sistema é normalmente configurado para consultar o arquivo hosts; se você quiser uma pesquisa de DNS puro no Linux, normalmente usaria host ou dig .)

    
por 21.05.2017 / 14:12
0

Seu arquivo de hosts está redirecionando yahoo.com para 216.58.209.36 como deveria. A razão pela qual ele não está funcionando como o esperado é provável porque o servidor web por trás do 216.58.209.36 irá procurar por um site chamado yahoo.com, mas como o servidor não hospeda esse site, ele não será encontrado, informando-o site não pode ser alcançado.

É como marcar o número errado. Se você ligar para Alice e perguntar por Bob, ela provavelmente responderá "Não há ninguém aqui com esse nome".

    
por 21.05.2017 / 02:28
0

Você não fez nada de errado. Para provar a si mesmo que as entradas do arquivo de hosts estão tendo o efeito desejado, execute o seguinte em um prompt de comando:

ping www.yahoo.com

... e observe que o endereço IP que recebe o ping é o que você especificou no arquivo hosts .

Como observado na resposta da FastEthernet, o acesso a um servidor da Web por meio de um nome de host não atribuído ao servidor pode resultar em um comportamento inesperado. No entanto, é melhor usar o comando ping acima para verificar se o nome do host está sendo mapeado para seu endereço IP personalizado, em vez de depender de poder carregar o site em um navegador.

    
por 21.05.2017 / 03:28
0

Você provavelmente está enfrentando todos os tipos de problemas com medidas de segurança, já que o site do Google não apresenta o certificado correto para ser seriamente considerado como Yahoo.

    
por 21.05.2017 / 13:42