Come raggiungere il computer locale tramite il nome del computer anziché l'IP?


20

Sviluppatore qui prototipazione di un'app mobile, un po 'nuova per i dispositivi mobili:

  • Ho un semplice servizio HTTP in esecuzione (attualmente) sul mio laptop principale con il nome della macchina latitude.
  • Un altro laptop chiamato vaiocondividendo la stessa rete WiFi può accedere a quel servizio tramite http://latitude:8080- in altre parole, può facilmente risolvere in latitudequalche modo l' IP (attuale) IP 192.168.xy (o qualunque IP dinamico abbia in quel momento) .
  • Ora i miei telefoni Android HTC, collegati alla stessa rete WiFi, possono raggiungere l'indirizzo IP di latitudeapertura così nel suo browser http://192.168.x.y:8080funziona.
  • Ma vorrei usare anche qui il nome della macchina, come quando accedo al servizio HTTP vaio, semplicemente digitando http://latitude:8080e facendo in modo che il telefono risolva l'attuale IP dinamico di latitude. Questo non funziona, ottieni solo la pagina di errore del browser standard: "Pagina Web non disponibile" .

C'è qualche impostazione DNS in Android che devo modificare? Non ho trovato nulla giocando con Impostazioni, e una domanda come questa è notoriamente difficile anche per Google ...

One V ha Android 4.0 e One M7 ha Android 4.2 nel caso in cui ciò faccia la differenza.

(Nota, questo dovrebbe funzionare anche quando Android non è collegato tramite USB ai miei computer e non funziona come un hotspot WiFi - ovviamente, dal momento che consuma comunque la mia rete WiFi principale).

Risposte:


4

Indipendentemente dal fatto che tu sia connesso alla tua rete locale tramite WiFi e DHCP sia in uso, Android sembra sempre sovrascrivere le sue voci DNS utilizzando i server di Google. È un po 'nascosto, ma facile da modificare, a condizione che tu abbia il tuo DNS in esecuzione (molti router lo offrono già).

Per fare ciò, vai al tuo elenco di reti WiFi in Impostazioni , premi a lungo la voce del tuo WiFi, seleziona per modificarlo. Attiva le impostazioni avanzate . Ora puoi modificare le voci DNS. Basta sostituire la prima voce con l'IP del proprio server DNS e lasciare intatta la seconda voce (DNS 2) per il fallback.

Ora, se il tuo DNS è in grado di risolvere i computer della tua rete locale, dovresti essere in grado di utilizzare i loro nomi host per contattarli. Nessuna radice e nessuna modifica del hostsfile necessarie (pensato che potrebbe essere un'alternativa, se non si dispone di un proprio servizio DNS in esecuzione). Funziona eccellente qui con me e la mia rete;)


Grazie! Ecco la cosa strana, quando lo faccio, il mio router (gateway) è già inserito anche come DNS1 (e quello di Google o 8.8.4.4 come DNS2). Bene, vado con questi valori predefiniti e li applico, NetBIOS e SMB sono abilitati sul computer Windows, ma ancora nessuna risoluzione dei nomi ...
metaleap

2
Non ho piani con Windows. Nel mio caso, è un ambiente basato su Linux e il router (AVM Fritz! Box) ha un server dei nomi in esecuzione. Funziona senza problemi.
Izzy

Questo dovrebbe al massimo (se pari) applicarsi solo alle vecchie versioni di Android. Il mio primo DNS è quello locale mentre il fallback è l'8.8.8.8 di Google. getprop | grep -i dns
Ho

Firefox si comporta in modo diverso e non mostra questo comportamento, immagino sia l'omnibox di Chrome (casella di ricerca combinata / URI) a
farlo

Firefox non utilizza i propri server DNS (almeno mi chiedo se). Tutto il software di solito richiede al sistema tali informazioni, quindi il browser non dovrebbe importare qui. @ ce4: Sì, è così che l'ho configurato manualmente sul mio dispositivo: stesso fallback, ma il principale ho dovuto cambiare manualmente da 4.4.4.4 al mio server DNS locale. So che il mio server DHCP invia queste informazioni, ma non ha visto un singolo dispositivo Android onorarlo.
Izzy

1

Quando desidero un nome di macchina anziché un IP, modifico il file HOSTS. Prova ad aggiungere i dispositivi e i loro indirizzi IP lì. Una ricerca su Google per il file hosts per il tuo sistema operativo dovrebbe essere semplice.


2
La modifica di HOSTS è utile solo se l'indirizzo IP del laptop rimane sempre statico / uguale. Questo non sarà il caso mentre lavoro in viaggio, diverse reti WiFi, indirizzi IP dinamici. Anche la modifica di HOSTS richiede un Android con root, ma ne ho bisogno per rimanere non root e ampiamente non testato per testare in condizioni di "normale telefono di consumo".
Metaleap,

0

Aggiungi due righe alla fine del file host ( /etc/hosts) del tuo dispositivo con ES Explorer (richiede un dispositivo rootato).

Modello:

your_host_machine's_IP_address  domain_name   

Esempio di domain_namepuò essere localhost.

Esempio:

::1  domain_name 

Funziona bene quando si digita la localhostbarra dell'URL invece dell'indirizzo IP.


Ho corretto \etc\hostsper /etc/hostse fatto alcuni cambiamenti nella formattazione. Ho cercato di non cambiare l'intento ma di farlo sembrare migliore. Fammi sapere se ho fatto un casino da qualche parte.
Firelord

0

Nel mio caso, su Windows 10, disattivare temporaneamente il firewall di Windows ha reso http://latitude:8080possibile la navigazione .

A lungo termine ho creato una regola per consentire questo tipo di connessioni attraverso il firewall ...

  • {Windows}> Start> "Firewall"> Windows Defender Firewall con Advance Security. Regole in entrata> Nuova regola ...

    • Generale
      • Nome: connessioni Web TCP dalla LAN
      • Consenti la connessione se è sicura ...
      • Scegliere: "Consenti la connessione se è autenticata e protetta dall'integrità"
    • Protocolli E Porte
      • Tipo di protocollo: TCP
      • Porta locale: 80, 880
    • Avanzate
      • Specificare i profili a cui si applica questa regola: Privato
  • {} Android. Prova con Firefox o Chrome, non Dolphin

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.