[C++] liste des interfaces réseaux
Résolu
arawns
Messages postés
281
Date d'inscription
Statut
Membre
Dernière intervention
-
scriptiz Messages postés 1424 Date d'inscription Statut Membre Dernière intervention -
scriptiz Messages postés 1424 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaites lister les interfaces réseau sur mon poste en winxp.
Avec la commande "netsh interface show interface", j'ai une ligne, mais je ne sais ni envoyer cette commande dans un buffer char* ou string, ni comment ressortir seulement les informations qui m'intéresse.
Pouvez-vous me donner des pistes, des idées ? Merci par avance.
Je souhaites lister les interfaces réseau sur mon poste en winxp.
Avec la commande "netsh interface show interface", j'ai une ligne, mais je ne sais ni envoyer cette commande dans un buffer char* ou string, ni comment ressortir seulement les informations qui m'intéresse.
Pouvez-vous me donner des pistes, des idées ? Merci par avance.
A voir également:
- [C++] liste des interfaces réseaux
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Liste des appareils connectés - Guide
- Site dangereux liste - Guide
3 réponses
Bonjour bonjour,
WinPcap: The Windows Packet Capture Library
https://www.winpcap.org/
Et sinon va voir du coté de MSDN :
https://docs.microsoft.com/fr-fr/
WinPcap: The Windows Packet Capture Library
https://www.winpcap.org/
Et sinon va voir du coté de MSDN :
https://docs.microsoft.com/fr-fr/
Bonjour,
Merci beaucoup pour cette réponse, même si je l'a trouve surprenante au vue de ma demande.
Je me permets de reformuler.
1°) Je souhaite lancer la commande sdt::system() et à la place de recevoir le résultat de la commande (réussi ou erreur), je souhaite buffuriser ce que cette commande renvoie.
Par exemple, si je lance un ping, je ne veux pas que system() me renvoie "0" car tout s'est bien passé, mais "ping 127.0.0.1, blah blah..."
2°) Sur ce principe, mon but est de lancer cette commande : "netsh interface show interface".
Voici ce que le programme ce que le programme me renvoi et que je veux buffuriser (voir le petit 1 ci-dessus) :
C:\Documents and Settings\Toto>netsh interface show interface
État admin État Type Nom de l'interface
-------------------------------------------------------------------------
Activé Dédié Connexion 1394
Activé Dédié Connexion au réseau local 3
Activé Dédié Connexion au réseau local
Activé Boucle de rappel Boucle de rappel
Activé Interne Interne
Je veux taiter ce retour pour qu'il me reste dans un char* ou autre chose, que "Connexion 1394", "Connexion au réseau local" et "Connexion au réseau local 3".
Je ne pense pas que Winpcap puisse m'aider (et puis, bonjour la portabilité inter-windows), ni MSDN.
Merci par avance pour vos réponses.
Merci beaucoup pour cette réponse, même si je l'a trouve surprenante au vue de ma demande.
Je me permets de reformuler.
1°) Je souhaite lancer la commande sdt::system() et à la place de recevoir le résultat de la commande (réussi ou erreur), je souhaite buffuriser ce que cette commande renvoie.
Par exemple, si je lance un ping, je ne veux pas que system() me renvoie "0" car tout s'est bien passé, mais "ping 127.0.0.1, blah blah..."
2°) Sur ce principe, mon but est de lancer cette commande : "netsh interface show interface".
Voici ce que le programme ce que le programme me renvoi et que je veux buffuriser (voir le petit 1 ci-dessus) :
C:\Documents and Settings\Toto>netsh interface show interface
État admin État Type Nom de l'interface
-------------------------------------------------------------------------
Activé Dédié Connexion 1394
Activé Dédié Connexion au réseau local 3
Activé Dédié Connexion au réseau local
Activé Boucle de rappel Boucle de rappel
Activé Interne Interne
Je veux taiter ce retour pour qu'il me reste dans un char* ou autre chose, que "Connexion 1394", "Connexion au réseau local" et "Connexion au réseau local 3".
Je ne pense pas que Winpcap puisse m'aider (et puis, bonjour la portabilité inter-windows), ni MSDN.
Merci par avance pour vos réponses.
Ok désolée je pensais que tu en avait besoin pour autre chose ^^
Voilà sinon une solution serait de transférer la sortie de la commande "netsh interface show interface" vers un bête fichier.
Eventuellement tu peux même faire ceci ou utiliser une autre variable d'environnement afin de le stocker qlq part.
Ensuite tu ouvre ton fichier en séquentiel et tu traite ligne par ligne ça devrait te fournir le résultat attendu non?
Attention que toutes les machines ne sont pas françaises :
Voilà perso je pense que c'est possible en C++, je n'en fait pas mais je peux te faire un exemple en C# :)
Voilà sinon une solution serait de transférer la sortie de la commande "netsh interface show interface" vers un bête fichier.
netsh interface show interface > interfaces.txt
Eventuellement tu peux même faire ceci ou utiliser une autre variable d'environnement afin de le stocker qlq part.
netsh interface show interface > %TEMP%\interfaces.txt
Ensuite tu ouvre ton fichier en séquentiel et tu traite ligne par ligne ça devrait te fournir le résultat attendu non?
Attention que toutes les machines ne sont pas françaises :
Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\>netsh interface show interface > %TEMP%\test. txt C:\>type %TEMP%\test.txt Admin State State Type Interface Name ------------------------------------------------------------------------- Enabled Dedicated Wireless Network Connection Enabled Dedicated Local Area Connection Enabled Internal Internal Enabled Loopback Loopback C:\>
Voilà perso je pense que c'est possible en C++, je n'en fait pas mais je peux te faire un exemple en C# :)