Tenho um site em execução no meu computador e quero testá-lo no meu tablet Nexus 7. Ou seja, através da LAN WiFi local. Se eu digitar o endereço IP, ele se conectará, mas exibirá o site errado, porque estou usando um host virtual nomeado.
Então, o que eu quero fazer é poder digitar mysite.local
no Chrome / Firefox no Nexus, fazer com que eles o convertam para 10.1.2.3
(ou qualquer que seja o endereço IP local) e, em seguida, ligue para o 10.1.2.3
servidor, fornecendo mysite.local
como host o pedido.
Minha pergunta: um tablet Android 4.x tem /etc/hosts
arquivos ou equivalente que eu posso editar? (Sem ter que torcer o tablet, ou algo assim.)
Nos meus computadores Linux, faço isso adicionando uma entrada em /etc/hosts
:
10.1.2.3 mysite.local
(Ou Windows\System32\drivers\etc\hosts
em uma máquina Windows faz o mesmo.)
BTW, este é um semi-duplicado de Definir manualmente um nome de host para o endereço IP (ou seja, / etc / hosts equiv.?) , Mas essa pergunta era para o Android 2.2, onde aparentemente não era possível. (Uma das idéias alternativas sugeridas foi a configuração do DNS no roteador local, mas, até onde posso dizer, meu roteador não faz DNS localmente, não possui essa opção. Eu poderia configurar meu próprio servidor DNS para fazer isso, mas que parece uma solução de grande trabalho.)
fonte
/etc/hosts
, mas configurar seu "servidor de nomes" (por exemplo, DNSMasq ou o que você usar). Seu roteador pode lhe dar um lugar para isso./etc/hosts
precisa ser editado em cada máquina de outra forma - e o arquivo correspondente no Android só pode ser editado com "poderes de raiz" (não sei sua localização exata, mas está em algum lugar dentro do/data/system
AFAIR). Veja: Como editar o arquivo etc / hostsRespostas:
Você não pode simplesmente editar o arquivo hosts no Android, pois ele reside em um sistema de arquivos somente leitura:,
/system/etc/hosts
consulte:As alternativas são:
fonte
Conforme mencionado por lzzy, você pode usar o servidor DNSMasq para conseguir isso. Mas o Chrome usa o próprio processo de resolução de DNS e esse método pode não funcionar.
Para iniciar o servidor, use o seguinte comando:
sudo
necessário para ligar na porta 53-d
iniciar servidor em primeiro plano--no-hosts
não use o arquivo hosts local--conf-file=/dev/null
não use nenhum arquivo de configuração--server=8.8.8.8 --server=8.8.4.4
endereços de servidores upstream (Google DNS neste exemplo)--address=/example.com/192.168.0.101
hosts a serem substituídos. Você precisa adicionar seus hosts nesta linha. Você também pode adicionar vários hosts lá.Em seguida, altere o servidor DNS no dispositivo. Isso pode ser feito facilmente usando o aplicativo DNS Changer .
Após essas etapas, as solicitações para esses hosts devem ser enviadas para seus endereços.
fonte
A maneira mais simples de definir um host para o mapeamento de IP é o
hosts
arquivo, pois os resolvedores de DNS respeitam esse arquivo . Mas, como mencionado em outras respostas, não é possível editar/etc/hosts
sem fazer o root no dispositivo Android. O acesso ao servidor da Web com endereço IP também não funcionará para você devido à hospedagem virtual. Aqui estão algumas opções que você pode usar no dispositivo não raiz:hosts
arquivo personalizado antes de fazer consultas ao servidor DNS upstream configurado.dnsmasq
, adicioneaddress=/mysite.local/10.1.2.3
ao "dnsmasq.conf" . Ou emdnscrypt-proxy
addmysite.local 10.1.2.3
para “cloaking-rules.txt” .10.1.2.3 mysite.local
aohosts
arquivo no servidor proxy ou execute um servidor DNS local no servidor VPN.hosts
arquivo da recuperação personalizada.Para obter mais detalhes, consulte: Como sempre resolver um nome de domínio para um IP fixo sem fazer root?
RELACIONADOS:
fonte