IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

Récupération de l'adresse ip du dns en C


Sujet :

Réseau C

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Récupération de l'adresse ip du dns en C
    Hello,
    Je cherche actuellement a récupérer l'adresse IP du serveur dns par programmation sous Windows afin de pouvoir lancer un ping dessus dans la foulé.
    Sur du Linux cela ne me pose pas de problème, je peut récupérer l'adresse ip en éxécutant cette commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /sbin/route -n | grep "^0.0.0.0" | awk '{ print $2} '
    par contre sur du windows je pensais utiliser nslookup pour stocker le tout dans un fichier texte.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("nslookup>nslookup.txt");
    le fichier de texte est bien rempli, le souci se trouve dans le fait que je me retrouve avec une console noir vide dans laquelle je ne parviens pas a sortir en utilisant la commande "exit" par programmation, ce qui m'oblige a taper cette commande pour sortir. Si quelqu'un a une idée pour injecter un "exit" a la commande nslookup je suis preneur.
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Citation Envoyé par pires57 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /sbin/route -n | grep "^0.0.0.0" | awk '{ print $2} '
    cas très particulier... Qui ne fonctionnera que si ta default gateway est également DNS (utilisation d'une LiveBox par exemple). Ce serait plus rigoureux d'extraire le DNS du fichier /etc/resolv.conf par exemple.

    Steph

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    oui, enfin le problème se trouve sur windows.
    cette appli que je veut faire tourner sur windows doit pouvoir me retourner l'IP du dns. le problème c'est que je suis obliger de saisir manuellement le "exit" pour sortir du nslookup. Ce qui m'arrangerais c'est justement de sortir du nslookup proprement par programmation. Je n'aime pas l'idée de devoir provoquer une erreur pour récupérer l'ip du DNS.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Tu devrais pouvoir récupérer les DNS avec GetAdaptersAddresses()

    http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx

    Steph

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci de ta participation mais j'ai fini en faite par trouver une alternative a mon problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
                                case 4:
                                {
                                    menu3 =4;
                                    system("cls");
                                    FILE * stream;
                                    stream=fopen("pingdns.BAT","w"); //ouverture du fichier en écriture
                                    char a[10]={'p','i','n','g',' '}; //declaration d'un tableau statique pour la commande ping
                                    fflush(stdin);// vidage du buffer
                                    fputs(a,stream); 
                                    rewind(stream);
                                    fclose(stream); // fermeture du fichier
                                    system("ipconfig /all | find \"Serveurs DNS\" > ip.txt");
                                    system("sed.exe -e \"s/   Serveurs DNS. . .  . . . . . . . . . . : / /g\" ip.txt > pingdns2.txt"); //on supprime "Serveurs DNS. . .  . . . . . . . . . . :" et on copie l'IPdans pingdns2.bat
                                    system("type pingdns2.txt >> pingdns.BAT ");
                                    system("pingdns.BAT");
                                    system("del pingdns2.txt"); // supression du fichier créer
                                    system("del pingdns.BAT"); // supression du fichier créer
                                    system("del ip.txt"); // supression du fichier créer
                                    system("cls");
                                    break;
                                }

  6. #6
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Merci de ta participation mais j'ai fini en faite par trouver une alternative a mon problème.
    Et ben, quel code

    Steph

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    oui, fait un peu a la va vite, j'ai pas trop de temps a réfléchir dessus

  8. #8
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    tu veux faire beaucoup mieux? un script batch contenant la meme chose, plutot qu'une suite de "system()"

    et pour écrire dans un fichier, il y a aussi la commande echo
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par pires57 Voir le message
    oui, fait un peu a la va vite
    Oui, on appelle ça un quick-and-dirty fix.

    Citation Envoyé par pires57 Voir le message
    j'ai pas trop de temps a réfléchir dessus


    Steph

  10. #10
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    oui enfin dans l'immédiat c'est fonctionnelle mais des que j'aurais un peu plus de temps je vais tenter de faire un truc un peu plus propre.
    Non merci, justement je préfère éviter le batch autant que possible et cette partie du programme sera modifié de toute manière... c'est une solution de secours temporaire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Batch] récupération de l'adresse IP du DNS 2
    Par Monsieur_Dom dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 18/11/2012, 18h07
  2. [C#] Sockets, récupération de l'adresse IP locale
    Par dockurt2k dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/09/2006, 22h30
  3. Trouver l'adresse ip du dns
    Par Michaël dans le forum Administration
    Réponses: 3
    Dernier message: 29/06/2006, 11h31
  4. Réponses: 6
    Dernier message: 28/02/2006, 17h41
  5. Récupération de l'adresse ip d'une interface précise
    Par PierreBo dans le forum Développement
    Réponses: 1
    Dernier message: 20/09/2005, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo