GetHostByAddr en C

Fermé
julow Messages postés 2198 Date d'inscription dimanche 26 août 2007 Statut Membre Dernière intervention 7 juillet 2015 - 2 juin 2008 à 17:43
Maximizme Messages postés 53 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 13 juin 2008 - 3 juin 2008 à 15:07
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 jeudi 24 janvier 2008 Statut Membre Dernière intervention 13 juin 2008 8
2 juin 2008 à 18:09
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 jeudi 24 janvier 2008 Statut Membre Dernière intervention 13 juin 2008 8
2 juin 2008 à 23:40
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 dimanche 26 août 2007 Statut Membre Dernière intervention 7 juillet 2015 244
3 juin 2008 à 08:32
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 jeudi 24 janvier 2008 Statut Membre Dernière intervention 13 juin 2008 8
3 juin 2008 à 15:07
Aaaaaaaaaaaaaaaaaaaaaaah, bah je sais pas :D. Désolé
0