GetHostByAddr en C

julow Messages postés 2198 Date d'inscription   Statut Membre Dernière intervention   -  
Maximizme Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je cherche un moyen pour que en fonction de l'adresse IP de la machine, le serveur DNS envois son nom d'hote.
J'ai donc fait un programme en C qui récupère l'IP de la machine avant de faire un GetHostByAddr pour obtenir le hostname. Le hic c'est que la machine n'intérroge pas le DNS du tout. Je pense que comme on lui demande son propre host name elle ne va pas le chercher sur le DNS mais elle le prend en local.

Comment la forcer à allé le récupérer quand meme sur le DNS??

3 réponses

Maximizme Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   8
 
Yes, gethostbyaddr est la fonction à utiliser. Je suis au boulot là, je rentre chez moi et je t'envoie mon code dans lequelle j'utilise la fonction gethostbyaddr.
A toute ;)
--
Maximizme
0
Maximizme Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   8
 
struct hostent *sn = NULL;
int i = IPString1.GetLength() + 1; //Range la taille d'IPString + 1 dans i

char *DEST = new char[j]; // Allocation gynamique de la taille d'IPString + 1

strcpy_s(DEST, j, IPString2); // Converti CString en char *

unsigned int addr_dest = inet_addr(DEST);

tn = gethostbyaddr((char*) &addr_src, 4, AF_INET); // Récupère le nom d'hote avec l'adresse IP

voilà
0
julow Messages postés 2198 Date d'inscription   Statut Membre Dernière intervention   244
 
Le truc c'est que moi aussi j'ai réussi à faire ça. J'ai utilisé la table MIB_IFTABLE pour récupérer mon adresse IP, puis via un GetHostByAddr j'ai demandé à récupérer le nom d'hôte correspondant à cette adresse IP mais le problème c'est que comme c'est l'adresse IP local de la machine et bien je pense que la machine plutôt que de se compliquer à le chercher sur le DNS le récupère directement dans ses données systèmes. Mais moi ce que je souhaite c'est faire des modification de nom d'hôte sur mon DNS est que en exécutant ce petit programme la machine change son hostname en conséquence en le récupérant sur ce serveur DNS...

Faut donc que je trouve un moyen de forcer la machine à ignorer ses données local pour ne se fier qu'au DNS. LA forcer à récupérer son hostname dessus en gros.

Mais là je bloque...
0
Maximizme Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   8
 
Aaaaaaaaaaaaaaaaaaaaaaah, bah je sais pas :D. Désolé
0