Remontei /sys
como rw
, adicionei uma entrada a etc/hosts
(por exemplo 10.0.0.1 x.com www.x.com
) e reiniciei meu dispositivo.
Após a reinicialização, se eu verificar etc/hosts
, a entrada está correta. Se eu executar ping x.com
, ele fará o ping do endereço IP correto que eu inseri.
Mas, se eu abrir um navegador da Web (estoque ou Dolphin), e procurar x.com
, ele irá para o endereço IP que o DNS resolver.
O que está acontecendo?
(Meu telefone é um Nexus One, que está executando a ROM Cyanogen 7.1 personalizada, com base no Android 2.3.7)
Atualização:
No aplicativo ' LAN Droid ', recebo o endereço editado (também 10.0.0.1
) também. Parece que são apenas os navegadores que se comportam de maneira errada.
ls -l /etc/hosts
, possivelmente problema de permissões / propriedade?chmod 644 /system/etc/hosts
resolvidoRespostas:
Isso soa exatamente como este , para baixo ao trabalho de ping, mas não o navegador. Sua solução final é citada abaixo:
Não sei o que você usou para modificá-lo, mas convém verificar que tipo de caracteres de avanço de linha / nova linha está usando.
fonte
ff=unix
agora eset list
ver qualquer quebra de linha do DOS ... até foi em frente e executou um regexp como se houvesse alguma quebra de linha do DOS, nada encontrado.Não tenho certeza se isso ajuda, mas eu tive um problema com um arquivo hosts ignorado e ele foi resolvido por um cara nesse tópico - a resposta é colocar uma nova linha em branco no final do arquivo.
fonte
Você pode instalar o strace e comparar a saída executando strace em ping com strace no navegador para ver por que as pesquisas de DNS estão sendo tratadas de maneira diferente?
Você tem certeza de que não há cache persistente em andamento? Qual é o TTL em seus registros de domínio?
O Android parece não usar o /etc/resolv.conf, mas talvez haja algumas propriedades que controlam quais aplicativos usam o / etc / hosts e quais vão diretamente para a pesquisa de DNS. https://groups.google.com/forum/?fromgroups#!topic/android-platform/K2Wr4WaEneI
fonte
Se você estiver criando o arquivo hosts em uma máquina Windows, verifique se cada linha está separada apenas por um LF (não [CR] [LF], somente [LF]). Você pode verificar isso e criar arquivos de hosts adequados usando o bloco de notas ++.
fonte
Eu acho que você precisa liberar o DNS no seu Android. Verifique esta questão /programming/2101762/android-flush-dns , especialmente "vá para configurações -> aplicativos -> local da rede -> limpar dados".
fonte
Minha suspeita seria que o navegador esteja configurado para funcionar através de um proxy.
Você pode dizer usando netstat -n ou procurando no / proc / net / tcp (ou melhor ainda, / proc / # browser_pid # / net / tcp) em qual endereço ele está realmente se conectando. Se isso não corresponder ao endereço do seu site, é provável que você esteja passando por um intermediário.
fonte
Eu normalmente diria (mas isso não se aplica a você, infelizmente):
Apenas tente reiniciar se as alterações passarem despercebidas, porque a instância da máquina Dalvik ou o sistema subjacente pode ter armazenado em cache uma solicitação DNS anterior.
Você pode tentar o AdAway para adicionar manualmente entradas ao seu arquivo hosts (apenas para verificar se ele faz o mesmo que você fez manualmente).
fonte