30 votes

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

Développeur en train de prototyper une application mobile, quelque peu novice en matière de téléphonie mobile :

  • J'ai un service HTTP simple qui fonctionne (actuellement) sur mon ordinateur portable principal avec le nom de machine suivant latitude .
  • Un autre ordinateur portable nommé vaio partageant le même réseau WiFi peuvent accéder à ce service via http://latitude:8080 -- En d'autres termes, il peut facilement résoudre l'adresse IP (actuelle) 192.168.x.y (ou toute autre adresse IP dynamique qu'il possède à ce moment-là) de latitude d'une manière ou d'une autre.
  • Maintenant, mes téléphones Android HTC, connectés au même réseau WiFi, peuvent atteindre l'adresse IP de latitude qui s'ouvre donc dans son navigateur http://192.168.x.y:8080 travaux.
  • Mais j'aimerais utiliser le nom de la machine ici aussi, comme lorsque j'accède au service HTTP à partir de vaio en tapant simplement http://latitude:8080 et faire en sorte que le téléphone résolve l'IP dynamique actuelle de latitude . Cela ne fonctionne pas, je n'obtiens que la page d'erreur standard du navigateur : "Page web non disponible" .

Y a-t-il un paramètre 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 à googler, aussi...

Le One V est équipé d'Android 4.0, et le One M7 d'Android 4.2, au cas où cela ferait une différence.

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

0 votes

7voto

Milner Points 533

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

Pour cela, allez dans votre liste de réseaux WiFi dans Paramètres Appuyez longuement sur l'entrée de votre WiFi, puis sélectionnez-la pour la modifier. Activer Avancé Paramètres. Vous pouvez maintenant modifier les entrées DNS. Remplacez simplement la première entrée par l'adresse IP de votre propre serveur DNS, et laissez la deuxième entrée (DNS 2) intacte pour le repli.

Maintenant, si votre propre DNS peut résoudre les machines de votre réseau local, vous devriez être en mesure d'utiliser leurs noms d'hôtes pour les atteindre. Pas de racine et pas d'édition du hosts nécessaire (cela pourrait être une alternative, si vous n'avez pas votre propre service DNS). Cela fonctionne parfaitement avec moi et mon réseau ;)

1 votes

Merci ! Voici le truc bizarre, quand je fais ça, mon routeur (passerelle) est déjà aussi entré comme DNS1 (et celui de Google ou 8.8.4.4 comme DNS2). Bon, je fais avec ces valeurs par défaut et je les applique, NetBIOS et SMB sont activés sur la machine Windows, mais toujours pas de résolution de nom...

2 votes

Je n'ai rien de prévu avec Windows. Dans mon cas, il s'agit d'un environnement basé sur Linux, et le routeur (AVM Fritz!Box) a un serveur de noms qui fonctionne. Cela fonctionne sans problème.

0 votes

Cela ne devrait tout au plus (voire même) s'appliquer qu'aux anciennes versions d'Android. Mon premier DNS est celui de ma région, tandis que la solution de repli est le 8.8.8.8 de Google. J'ai regardé avec getprop | grep -i dns Voir aussi Android.stackexchange.com/a/32278/15713

1voto

Shadow Points 136

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

3 votes

Modifier les HOSTS n'est utile que si l'adresse IP de l'ordinateur portable reste toujours statique / la même. Ce ne sera pas le cas car je travaille en déplacement, avec différents réseaux WiFi et des adresses IP dynamiques. De plus, la modification des HOSTS nécessite un Android enraciné, mais j'ai besoin qu'il reste non enraciné et en grande partie non modifié pour tester dans des conditions de "téléphone grand public normal"

0voto

Mohamed Hasan Points 1

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

Modèle :

your_host_machine's_IP_address  domain_name   

Exemple de domain_name peut être localhost .

::1  domain_name 

Cela fonctionne bien lorsque l'on tape localhost dans la barre d'URL au lieu de l'adresse IP.

0 votes

J'ai corrigé \etc\hosts a /etc/hosts et fait quelques changements dans le formatage. J'ai essayé de ne pas changer l'intention mais de l'améliorer. Faites-moi savoir si je me suis trompé quelque part.

0voto

John Bentley Points 101

Dans mon cas, sur Windows 10, désactiver temporairement le pare-feu de Windows a permis de surfer pour http://latitude:8080 possible.

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

  • {Windows} > Démarrer > "Pare-feu" > Pare-feu Windows Defender avec Advance Security. Règles d'entrée > Nouvelle règle ...

    • General
      • Nom : Connexions web TCP depuis le réseau local
      • Autoriser la connexion si elle est sécurisée ...
      • Choisissez : "Autoriser la connexion si elle est authentifiée et protégée en intégrité".
    • Protocoles et ports
      • Type de protocole : TCP
      • Port local : 80, 880
    • Avancé
      • Spécifier les profils auxquels cette règle s'applique : Privé
  • {Android}. Testé avec Firefox ou Chrome, pas Dolphin

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X