Como acessar o computador local através do nome da máquina em vez do IP?

20

Desenvolvedor aqui prototipando um aplicativo móvel, um pouco novo para celular:

  • Eu tenho um serviço HTTP simples em execução (atualmente) no meu laptop principal com o nome da máquina latitude.
  • Outro laptop chamado vaiocompartilhamento da mesma rede Wi-Fi pode acessar esse serviço via http://latitude:8080- em outras palavras, ele pode resolver facilmente o (atual) IP 192.168.xy (ou qualquer IP dinâmico que tenha naquele momento) de latitudealguma forma.
  • Agora, meus telefones HTC Android, conectados à mesma rede Wi-Fi, podem alcançar o endereço IP latitudedessa abertura no navegador http://192.168.x.y:8080.
  • Mas também gostaria de usar o nome da máquina aqui, como quando acesso o serviço HTTP vaio, simplesmente digitando http://latitude:8080e solicitando que o telefone resolva o IP dinâmico atual de latitude. Isso não funciona, apenas obtenha a página de erro padrão do navegador: "Página da Web não disponível" .

Há alguma configuração de DNS no Android que eu precise ajustar? Não encontrei nada de brincar com as Configurações, e uma pergunta como essa também é notoriamente difícil de pesquisar no Google ...

O One V tem o Android 4.0 e o One M7 o Android 4.2, caso isso faça a diferença.

(Observe, isso deve funcionar mesmo quando o Android não está conectado via USB aos meus computadores e não está atuando como um ponto de acesso WiFi - obviamente, pois está consumindo minha principal rede WiFi de qualquer maneira).

metaleap
fonte

Respostas:

4

Independentemente de você estar conectado à sua rede local via Wi-Fi e DHCP, o Android sempre parece substituir suas entradas DNS usando os servidores do Google. É um pouco oculto, mas fácil de alterar - desde que você tenha seu próprio DNS em execução (muitos roteadores já oferecem isso).

Para fazer isso, acesse sua lista de redes Wi-Fi em Configurações , pressione e segure a entrada do seu Wi-Fi, selecione para editá-lo. Ative as configurações avançadas . Agora você pode editar as entradas DNS. Simplesmente substitua a primeira entrada pelo IP do seu próprio servidor DNS e deixe a segunda entrada (DNS 2) intacta para reserva.

Agora, se o seu próprio DNS puder resolver as máquinas da sua rede local, você poderá usar os nomes de host deles para alcançá-los. Não é necessário fazer root nem editar o hostsarquivo (pensei que poderia ser uma alternativa, se você não tiver um serviço DNS em execução). Funciona excelente aqui comigo e com minha rede;)

Izzy
fonte
Obrigado! Aqui está a coisa estranha: quando faço isso, meu roteador (gateway) também já está inserido como DNS1 (e no Google ou 8.8.4.4 como DNS2). Bem, eu estou indo com esses padrões e aplicá-los, NetBIOS e SMB são habilitados na máquina Windows, mas ainda sem resolução de nomes ...
metaleap
2
Não tenho planos com o Windows. No meu caso, é um ambiente baseado em Linux, e o roteador (AVM Fritz! Box) possui um servidor de nomes em execução. Funciona sem problemas.
Izzy
Isso deve, no máximo (se for o caso), aplicar-se apenas a versões antigas do Android. Meu primeiro DNS é o meu local, enquanto o fallback é o 8.8.8.8 do Google. Olhou-o com getprop | grep -i dnsVeja também android.stackexchange.com/a/32278/15713
CE4
Firefox age diferente e não mostra esse comportamento, eu acho que é omnibox do Chrome (pesquisa combinada / URI caixa de entrada) que faz isso
CE4
O Firefox não usa seus próprios servidores DNS (pelo menos eu gostaria de saber se). Todos os softwares geralmente solicitam essas informações ao sistema, portanto o navegador não deve importar aqui. @ ce4: Sim, foi assim que eu o configurei manualmente no meu dispositivo: o mesmo fallback, mas o principal tive que mudar manualmente do 4.4.4.4 para o servidor DNS local. Eu sei que meu servidor DHCP envia essas informações, mas não vi um único dispositivo Android cumprindo isso.
Izzy
1

Quando quero um nome de máquina em vez de um IP, edito o arquivo HOSTS. Tente adicionar os dispositivos e seus endereços IP lá. Uma pesquisa no google pelo arquivo de hosts do seu sistema operacional deve ser fácil.

Sombra
fonte
2
A edição de HOSTS só é útil se o endereço IP do laptop permanecer sempre estático / igual. Não será esse o caso enquanto estiver trabalhando, redes Wi-Fi diferentes, endereços IP dinâmicos. Também a edição de HOSTS requer um Android enraizada mas eu preciso dele para ficar não enraizadas e em grande parte untweaked para teste em "telefone consumidor normal" condições ..
metaleap
0

Adicione duas linhas no final do arquivo hosts ( /etc/hosts) do seu dispositivo com o ES Explorer (precisa de um dispositivo raiz).

Modelo:

your_host_machine's_IP_address  domain_name   

Exemplo de domain_namepode ser localhost.

Exemplo:

::1  domain_name 

Funciona bem ao digitar localhostna barra de URL em vez do endereço IP.

Mohamed Hasan
fonte
I corrigido \etc\hostspara /etc/hostse fez algumas mudanças na formatação. Tentei não mudar a intenção, mas torná-la melhor. Deixe-me saber se eu errei em algum lugar.
Firelord
0

No meu caso, no Windows 10, desativar temporariamente o firewall do Windows tornou http://latitude:8080possível a navegação .

A longo prazo, criei uma regra para permitir esse tipo de conexão através do firewall ...

  • {Windows}> Iniciar> "Firewall"> Firewall do Windows Defender com Segurança Avançada. Regras de entrada> Nova regra ...

    • Geral
      • Nome: conexões web TCP da LAN
      • Permitir a conexão se for segura ...
      • Escolha: "Permitir a conexão se estiver autenticada e protegida pela integridade"
    • Protocolos e portas
      • Tipo de protocolo: TCP
      • Porto local: 80, 880
    • Avançado
      • Especifique perfis aos quais esta regra se aplica: Particular
  • {Android}. Teste com Firefox ou Chrome, não com Dolphin

John Bentley
fonte