bonjour,
j'ai besoin de récuperer les noms des machines connecté à mon réseau. ( en C)
comment le faire?
et merci
bonjour,
j'ai besoin de récuperer les noms des machines connecté à mon réseau. ( en C)
comment le faire?
et merci
Il y a 2 systèmes pour cela :
- La résolution DNS (tu donnes une adresse et le DNS te donne (peut être) le nom de cette machine.
- La résolution Netbios, c'est fait avec le protocoles NETBIOS spécifique à l'environnement Microsoft.
Il va falloir que tu en dises un peu plus pour que l'on t'aide
Merci pour votre reponse,
en fait, je veux developpé une application (en C) dans laquelle je veux récuperer les noms des machines connectées sur mon réseau local en connaissant leurs adress IP (192.168.1.X).
Pour l'afficher : 192.168.1.X ===> "Nom-de-l'ordinateur"
Oui, cela je l'avais très bien compris mais tu ne réponds pas à ma question.
Sur ton réseau, as-tu un DNS avec la zone reverse renseignée (correspondance IP vers nom) ? Si oui, une bête requête et le tour est joué.
Sinon, tu peux aussi utiliser Netbios mais cela ne peut cibler que les machines qui comprennent Netbios (PC Microsoft, machines Unix avec serveur Samba). Toutes les autres machines qui ne comprennent pas Netbios ne pourront pas répondre.
Pour compléter un peu la réponse de Jenna, lorsqu'on demande des informations d'adresse ou de nom d'une machine via gethostbyname (nom -> IP) ou gethostbyaddr (IP -> nom), l'OS va tout d'abord voir si cette information est présente dans le fichier "hosts" (qui se trouve dans %systemdir%\drivers\etc sous Windows et dans /etc sous Linux) et si elle n'y figure pas, la seulement va tenter une résolution DNS si un serveur DNS existe.
Quant à NetBios, c'est quand même obsolète ...
*
Je parlais bien de netbios, pas de WINS (qui est effectivement obsolète maintenant).
Le problème est que souvent les PC utilisateurs ne sont pas dans le DNS et encore moins dans l'arbre DNS inverse. A ce moment, si tu veux VRAIMENT une résolution, il faut passer par netbios (l'équivalent de NBTSTAT -A aaa.bbb.ccc.ddd) pour avoir ces infos. Cette résolution se fait en netbios (je n'ai plus en tête l'appel système mais je chercherai et compléterai ce post plus tard).
Partager