Comment atteindre l'ordinateur local via le nom de la machine au lieu de l'IP?

20

Développeur ici prototypant une application mobile, quelque peu nouvelle pour mobile:

  • J'ai un service HTTP simple en cours d'exécution (actuellement) sur mon ordinateur portable principal avec le nom de la machine latitude.
  • Un autre ordinateur portable nommé vaiopartageant le même réseau WiFi peut accéder à ce service via http://latitude:8080- en d'autres termes, il peut facilement résoudre l'IP 192.168.xy (actuelle) (ou quelle que soit l'IP dynamique dont il dispose à ce moment) d'une latitudemanière ou d'une autre.
  • Maintenant, mes téléphones HTC Android, connectés au même réseau WiFi, peuvent atteindre l'adresse IP de latitudesorte que l'ouverture dans son navigateur http://192.168.x.y:8080fonctionne.
  • Mais j'aimerais également utiliser le nom de la machine ici, comme lorsque j'accède au service HTTP à partir de vaio, simplement en tapant http://latitude:8080et en demandant au téléphone de résoudre l'IP dynamique actuelle de latitude. Cela ne fonctionne pas, obtenez uniquement la page d'erreur standard du navigateur: "Page Web non disponible" .

Existe-t-il des paramètres DNS dans Android que je dois modifier? Je n'ai rien trouvé en jouant avec les paramètres, et une question comme celle-ci est notoirement difficile à google, aussi ...

Le One V a Android 4.0 et le One M7 a Android 4.2 au cas où cela ferait une différence.

(Remarque, cela devrait fonctionner même lorsque l'Android n'est pas connecté par USB à mes ordinateurs et n'agit pas comme un point d'accès WiFi - évidemment, car il consomme mon réseau WiFi principal de toute façon).

metaleap
la source

Réponses:

4

Que vous soyez connecté à votre réseau local via WiFi et que DHCP soit utilisé, Android semble toujours remplacer ses entrées DNS à l'aide des serveurs de Google. C'est un peu caché, mais facile à changer - à condition que vous ayez votre propre DNS en cours d'exécution (beaucoup de routeurs le proposent déjà).

Pour ce faire, accédez à votre liste de réseaux WiFi dans Paramètres , appuyez longuement sur l'entrée de votre WiFi, sélectionnez pour la modifier. Activez les paramètres avancés . Vous pouvez maintenant modifier les entrées DNS. Remplacez simplement la première entrée par l'IP de votre propre serveur DNS et laissez la deuxième entrée (DNS 2) intacte pour une solution de secours.

Maintenant, si votre propre DNS peut résoudre les machines de votre réseau local, vous devriez pouvoir utiliser leurs noms d'hôte pour les contacter. Aucune racine et aucune modification du hostsfichier nécessaires (pensé que cela pourrait être une alternative, si vous n'avez pas de propre service DNS en cours d'exécution). Fonctionne très bien ici avec moi et mon réseau;)

Izzy
la source
Merci! Voici la chose étrange, quand je fais cela, mon routeur (passerelle) est déjà également entré comme DNS1 (et Google ou 8.8.4.4 comme DNS2). Eh bien, je vais avec ces valeurs par défaut et les applique, NetBIOS et SMB sont activés sur la machine Windows, mais toujours pas de résolution de nom ...
metaleap
2
Je n'ai aucun plan avec Windows. Dans mon cas, c'est un environnement basé sur Linux et le routeur (AVM Fritz! Box) a un serveur de noms en cours d'exécution. Fonctionne en douceur.
Izzy
Cela devrait tout au plus (si même) s'appliquer uniquement aux anciennes versions d'Android. Mon premier DNS est mon local, tandis que le repli est le 8.8.8.8 de Google. A getprop | grep -i dnsconsulté avec Voir aussi android.stackexchange.com/a/32278/15713
ce4
Firefox agit différemment et ne montre pas ce comportement, je suppose que c'est l'omnibox de Chrome (zone de recherche combinée / URI) qui fait cela
ce4
Firefox n'utilise pas ses propres serveurs DNS (au moins je me demande si). Tous les logiciels demandent généralement au système ces informations, donc le navigateur ne devrait pas avoir d'importance ici. @ ce4: Oui, c'est comme ça que je l'ai configuré manuellement sur mon appareil: même repli, mais le principal que j'ai dû passer manuellement de 4.4.4.4 à mon serveur DNS local. Je sais que mon serveur DHCP envoie ces informations, mais je n'ai pas vu un seul appareil Android honorer cela.
Izzy
1

Lorsque je veux un nom de machine au lieu d'une adresse IP, je modifie le fichier HOSTS. Essayez d'y ajouter les appareils et leurs adresses IP. Une recherche google pour le fichier hosts de votre système d'exploitation devrait être facile.

Ombre
la source
2
La modification des HÔTES n'est utile que si l'adresse IP de l'ordinateur portable reste toujours statique / identique. Ce ne sera pas le cas car je travaille en déplacement, différents réseaux WiFi, des adresses IP dynamiques. La modification de HOSTS nécessite également un Android rooté mais j'en ai besoin pour rester sans racine et largement non testé pour tester dans des conditions de "téléphone grand public" ..
Metaleap
0

Ajoutez deux lignes à la fin du fichier hosts ( /etc/hosts) de votre appareil avec ES Explorer (nécessite un appareil enraciné).

Modèle:

your_host_machine's_IP_address  domain_name   

Exemple de domain_namepeut être localhost.

Exemple:

::1  domain_name 

Cela fonctionne très bien lors de la saisie localhostdans la barre d'URL au lieu de l'adresse IP.

Mohamed Hasan
la source
Je corrigeais \etc\hostsà /etc/hostset fait quelques changements dans la mise en forme. J'ai essayé de ne pas changer l'intention mais de la rendre plus belle. Faites-moi savoir si j'ai foiré quelque part.
Firelord
0

Dans mon cas, sur Windows 10, la désactivation temporaire du pare-feu Windows a rendu la navigation http://latitude:8080possible.

À plus long terme, j'ai créé une règle pour laisser ce type de connexions à travers le pare-feu ...

  • {Windows}> Démarrer> "Pare-feu"> Pare-feu Windows Defender avec sécurité avancée. Règles entrantes> Nouvelle règle ...

    • Général
      • Nom: connexions Web TCP à partir du LAN
      • Autorisez la connexion si elle est sécurisée ...
      • Choisissez: "Autoriser la connexion si elle est authentifiée et protégée par l'intégrité"
    • Protocoles et ports
      • Type de protocole: TCP
      • Port local: 80, 880
    • Avancée
      • Spécifiez les profils auxquels cette règle s'applique: Privé
  • {Android}. Testez avec Firefox ou Chrome, pas Dolphin

John Bentley
la source