p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Invité de passage
    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 : 1
    Points
    1

    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
    Modérateur
    Avatar de IP_Steph
    Homme Profil pro
    Architecte réseau
    Inscrit en
    février 2012
    Messages
    2 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte réseau
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : février 2012
    Messages : 2 182
    Points : 4 733
    Points
    4 733
    Billets dans le blog
    3

    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
    A statistician is someone who can put their head in a hot oven, and their feet in a bucket of ice, and say, “on the average, I feel fine.”
    Russ White

  3. #3
    Invité de passage
    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 : 1
    Points
    1

    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
    Modérateur
    Avatar de IP_Steph
    Homme Profil pro
    Architecte réseau
    Inscrit en
    février 2012
    Messages
    2 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte réseau
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : février 2012
    Messages : 2 182
    Points : 4 733
    Points
    4 733
    Billets dans le blog
    3

    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
    A statistician is someone who can put their head in a hot oven, and their feet in a bucket of ice, and say, “on the average, I feel fine.”
    Russ White

  5. #5
    Invité de passage
    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 : 1
    Points
    1

    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
    Modérateur
    Avatar de IP_Steph
    Homme Profil pro
    Architecte réseau
    Inscrit en
    février 2012
    Messages
    2 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte réseau
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : février 2012
    Messages : 2 182
    Points : 4 733
    Points
    4 733
    Billets dans le blog
    3

    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
    A statistician is someone who can put their head in a hot oven, and their feet in a bucket of ice, and say, “on the average, I feel fine.”
    Russ White

  7. #7
    Invité de passage
    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 : 1
    Points
    1

    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 Confirmé Sénior

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    3 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : juin 2007
    Messages : 3 257
    Points : 8 424
    Points
    8 424

    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
    Modérateur
    Avatar de IP_Steph
    Homme Profil pro
    Architecte réseau
    Inscrit en
    février 2012
    Messages
    2 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte réseau
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : février 2012
    Messages : 2 182
    Points : 4 733
    Points
    4 733
    Billets dans le blog
    3

    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
    A statistician is someone who can put their head in a hot oven, and their feet in a bucket of ice, and say, “on the average, I feel fine.”
    Russ White

  10. #10
    Invité de passage
    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 : 1
    Points
    1

    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