Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 10 sur 10
  1. #1
    Invité de passage
    Homme Profil pro Anthony PEROTTO
    Étudiant
    Inscrit en
    mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Nom : Homme Anthony PEROTTO
    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 :
    /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 :
    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 Steph
    Architecte réseau
    Inscrit en
    février 2012
    Messages
    1 854
    Détails du profil
    Informations personnelles :
    Nom : Homme Steph
    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 : 1 854
    Points : 4 039
    Points
    4 039

    Par défaut

    Salut,

    Citation Envoyé par pires57 Voir le message
    Code :
    /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
    ʇɥıs uǝʍ uʌıpıɐ pɹıʌǝɹ snɔʞs :-)

  3. #3
    Invité de passage
    Homme Profil pro Anthony PEROTTO
    Étudiant
    Inscrit en
    mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Nom : Homme Anthony PEROTTO
    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 Steph
    Architecte réseau
    Inscrit en
    février 2012
    Messages
    1 854
    Détails du profil
    Informations personnelles :
    Nom : Homme Steph
    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 : 1 854
    Points : 4 039
    Points
    4 039

    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
    ʇɥıs uǝʍ uʌıpıɐ pɹıʌǝɹ snɔʞs :-)

  5. #5
    Invité de passage
    Homme Profil pro Anthony PEROTTO
    Étudiant
    Inscrit en
    mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Nom : Homme Anthony PEROTTO
    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 :
    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 Steph
    Architecte réseau
    Inscrit en
    février 2012
    Messages
    1 854
    Détails du profil
    Informations personnelles :
    Nom : Homme Steph
    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 : 1 854
    Points : 4 039
    Points
    4 039

    Par défaut

    Code :
    Merci de ta participation mais j'ai fini en faite par trouver une alternative a mon problème.
    Et ben, quel code

    Steph
    ʇɥıs uǝʍ uʌıpıɐ pɹıʌǝɹ snɔʞs :-)

  7. #7
    Invité de passage
    Homme Profil pro Anthony PEROTTO
    Étudiant
    Inscrit en
    mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Nom : Homme Anthony PEROTTO
    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 Pierre
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    2 182
    Détails du profil
    Informations personnelles :
    Nom : Homme Pierre
    Localisation : France

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

    Informations forums :
    Inscription : juin 2007
    Messages : 2 182
    Points : 5 060
    Points
    5 060

    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.
    • La plus sotte des questions est celle qu'on ne pose pas.

    Pour faire des graphes, essayez yEd.

  9. #9
    Modérateur
    Avatar de IP_Steph
    Homme Profil pro Steph
    Architecte réseau
    Inscrit en
    février 2012
    Messages
    1 854
    Détails du profil
    Informations personnelles :
    Nom : Homme Steph
    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 : 1 854
    Points : 4 039
    Points
    4 039

    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
    ʇɥıs uǝʍ uʌıpıɐ pɹıʌǝɹ snɔʞs :-)

  10. #10
    Invité de passage
    Homme Profil pro Anthony PEROTTO
    Étudiant
    Inscrit en
    mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Nom : Homme Anthony PEROTTO
    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •