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 :

Faire des requetes SNMP en C


Sujet :

Réseau C

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 72
    Points : 40
    Points
    40
    Par défaut Faire des requetes SNMP en C
    Voici mon petit probleme.
    Je souhaite envoyer des requettes snmp en C.Et est-ce qu'il ya une librairie pour ça?
    Si quelqu'un pourrai m'aider.
    Merci.
    A++

  2. #2
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par cyranno Voir le message
    Je souhaite envoyer des requettes snmp en C.Et est-ce qu'il ya une librairie pour ça?
    "bibliothèque"

    Sous GNU/Linux, il y Net-snmp.

    Sous Windows, il y a WinSNMP-API
    Pas de Wi-Fi à la maison : CPL

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 72
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    "bibliothèque"

    Sous GNU/Linux, il y Net-snmp.

    Sous Windows, il y a WinSNMP-API
    Merci bcp!
    Je travaille sous linux,et j'ai pour mission de programmer en C pour acquerir des informations réseaux tel que (taux de bande passante utilisé,statistique d'utilisation des protocoles TCP/IP et UDP,Ressources utilisés,...) en intérrogeant l'agent SNMP du routeur.
    Mais en faite où est-ce que je pourrai trouver des tutos en français concernant l'utilisation du bibliothèque Net-snmp.
    A++

  4. #4
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 508
    Points
    5 508
    Par défaut
    Google est ton ami...

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  5. #5
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par cyranno Voir le message
    Merci bcp!
    Je travaille sous linux,
    Dommage<...>
    Mais en faite où est-ce que je pourrai trouver des tutos en français concernant l'utilisation du bibliothèque Net-snmp.
    Pas sûr que ça existe. Si tu trouves de la doc en anglais, c'est déjà bien. On ne peut pas exercer le métier de programmeur si on ne sait pas lire l'anglais.

    J'espère que tu connais SNMP, les MIBs, les OID etc. Ca ne s'invente pas...

    http://christian.caleca.free.fr/snmp/
    Pas de Wi-Fi à la maison : CPL

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 72
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Dommage<...>
    Pas sûr que ça existe. Si tu trouves de la doc en anglais, c'est déjà bien. On ne peut pas exercer le métier de programmeur si on ne sait pas lire l'anglais.

    J'espère que tu connais SNMP, les MIBs, les OID etc. Ca ne s'invente pas...

    http://christian.caleca.free.fr/snmp/
    Je sais qlq choses a propos de SNMP je sais lire et comprendre un peu l'anglais mais c'est bcp plus facile en français.
    Mon probléme n'est plus sur le principe du protocole SNMP mais dans la programmation et l'utilisation de ce bibliothéque Net-snmp que j'ai su son existence il y a déja qlq heures.
    Si vous avez qlq idées ou des liens a me fournir je vous serai trés reconnaissant et merci.
    A++

  7. #7
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par cyranno Voir le message
    Je sais qlq choses a propos de SNMP je sais lire et comprendre un peu l'anglais mais c'est bcp plus facile en français.
    Il va falloir corriger ça si tu veux survivre dans ce métier... Il faut avoir une lecture facile, rapide et précise de l'anglais. C'est beaucoup plus utile que d'être fort en math !
    Mon probléme <...> l'utilisation de ce bibliothéque Net-snmp que j'ai su son existence il y a déja qlq heures.
    Si vous avez qlq idées ou des liens a me fournir je vous serai trés reconnaissant
    Je pense avoir déjà fourni tous les liens nécessaires pour démarrer. De toutes façons, je n'en sais pas plus que toi, mais je sais me servir de Google...
    Pas de Wi-Fi à la maison : CPL

  8. #8
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 72
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Il va falloir corriger ça si tu veux survivre dans ce métier... Il faut avoir une lecture facile, rapide et précise de l'anglais. C'est beaucoup plus utile que d'être fort en math !

    Je pense avoir déjà fourni tous les liens nécessaires pour démarrer. De toutes façons, je n'en sais pas plus que toi, mais je sais me servir de Google...
    Moi aussi depuis déja 2h, j'ai essayé de fouiller dans google mais je n'ai rien trouvé d'intéressant jusqu'ici.
    Merci pour les conseils (il me rappelle que je suis un informaticien qui est bien mal barré d'être francophone) et les liens.
    Votre aide sera toujours les bienvenues,n'hésiter surtout pas s'il y a qlq chose d'intéressant,J'éssai de mon côté de continuer mes recherches.
    A++

  9. #9
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par cyranno Voir le message
    Votre aide sera toujours les bienvenues,n'hésiter surtout pas s'il y a qlq chose d'intéressant,J'éssai de mon côté de continuer mes recherches.
    Tu ne trouveras pas mieux que ça :

    http://net-snmp.sourceforge.net/wiki....php/Tutorials

    dont je t'ai déjà donné l'adresse du site principal.
    Pas de Wi-Fi à la maison : CPL

  10. #10
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 72
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Tu ne trouveras pas mieux que ça :

    http://net-snmp.sourceforge.net/wiki....php/Tutorials

    dont je t'ai déjà donné l'adresse du site principal.
    Merci pour le lien c'est trés utile!!

  11. #11
    Membre actif
    Homme Profil pro
    testeur logiciel
    Inscrit en
    Juin 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : testeur logiciel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 125
    Points : 211
    Points
    211
    Par défaut
    Salut,

    Je pense que cet exemple peut t'aider pour commencer. Je l'ai utilisé lorsque j'ai travaillé avec snmp.

    http://www.cuddletech.com/articles/snmp/node26.html

  12. #12
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 72
    Points : 40
    Points
    40
    Par défaut
    Salut !
    Dans l'exemple il y avait:
    Citation Envoyé par Bundy*Al Voir le message
    add_mibdir(".");
    mib_tree = read_mib("PowerNet-MIB.txt");
    http://www.cuddletech.com/articles/snmp/node26.html
    Je ne comprends pas trés bien ce bout de code est-ce que vous pouvez m'expliquer un peu.
    Merci!!

  13. #13
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par cyranno Voir le message
    Salut !
    Dans l'exemple il y avait:

    Je ne comprends pas trés bien ce bout de code est-ce que vous pouvez m'expliquer un peu.
    Merci!!
    Le code en lui même est trivial (simples appels de fonctions).

    Maintenant , en supposant que l'on connaisse bien le contexte MIB, OID, SNMP, il y a 2 connaissances supplémentaires à acquérir qui sont :
    • le rôle des fonctions
    • la signification des paramètres des fonctions.

    et là, il n'y a pas de mystère, il faut la lire la doc. Peut de gens ici en savent plus que toi sur le sujet.

    Personne n'ira lire la doc à ta place. C'est ton job. Maintenant si il y'a quelque chose que tu ne comprends pas dans la doc, on peut en parler (traduction, problème de C), mais la réponse sera peut être sur le forum réseau si ça concerne SNMP.
    Pas de Wi-Fi à la maison : CPL

  14. #14
    Membre actif
    Homme Profil pro
    testeur logiciel
    Inscrit en
    Juin 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : testeur logiciel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 125
    Points : 211
    Points
    211
    Par défaut
    D'apès mes souvenirs ces lignes permette d'accéder à la MIB et de la lire.
    Il me semble que le fichier texte décrit l'arborécence par defaut de la MIB.

    Le add_mibdir(".") permet de parcourir la MIB chaques ensembles et sous ensembles étant séparés par des "." et ainsi de te placer dans le "dossier" que tu veux.

    Je ne me souviens plus exactement du fonctionnement mais c'est vite fait décrit plus loin. Sinon en recherchant du devrai trouver plus d'explications.

    http://net-snmp.sourceforge.net/docs/man/mib_api.html

    Je peux te poster mon code de l'époque demain si sa peut d'aider (c++).

    a+

  15. #15
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 72
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par Bundy*Al Voir le message
    D'apès mes souvenirs ces lignes permette d'accéder à la MIB et de la lire.
    Il me semble que le fichier texte décrit l'arborécence par defaut de la MIB.

    Le add_mibdir(".") permet de parcourir la MIB chaques ensembles et sous ensembles étant séparés par des "." et ainsi de te placer dans le "dossier" que tu veux.

    Je ne me souviens plus exactement du fonctionnement mais c'est vite fait décrit plus loin. Sinon en recherchant du devrai trouver plus d'explications.

    http://net-snmp.sourceforge.net/docs/man/mib_api.html

    Je peux te poster mon code de l'époque demain si sa peut d'aider (c++).

    a+
    Re-Salut!
    Merci bcp pour votre aide!!
    J'aurai bien besoin de votre code pour s'inspirer sur ce projet!!
    Merci encore et a++

  16. #16
    Membre actif
    Homme Profil pro
    testeur logiciel
    Inscrit en
    Juin 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : testeur logiciel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 125
    Points : 211
    Points
    211
    Par défaut
    Essaye déja sa pour vérifier si tu te connectes bien, c'est juste en exemple tu dois modifier légérement le code pour que sa marche.
    Comme tu vas le voir c'est pas compliqué.

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    int tClientSnmp::Connecter(char * ip_distant)
    {	
    	//Permet de vérifier si la session est bien initialisée.
    	int verif_connexion; 
    	//On initialise la structure.
    	sessp = NULL;
    	//On recopie public dans l'attribut nom_community.		
    	strcpy((char*)nom_community, "public");
    	//On initialisation  la session.
    	snmp_sess_init(&session); 
     
    	//Paramétres	
     
    	//Nombre de tentatives éffectués si la connexion est infructueuse.
    	session.retries = 5; 
    	//Nombre de micro-secondes avant le premier timeout.
    	session.timeout = 500000;
    	//Version du protocole.
    	session.version = SNMP_VERSION_1; 
    	//Acces à la communauté public (droit de lecture sur les informations                          non sensibles). 
    	session.community=nom_community; 
        //Taille du droit d'acces.
    	session.community_len = strlen((char*)session.community); 
    	//Adresse IP de l'agent SNMP.
    	session.peername = ip_distant; 	
     
    	//Ouverture de la session.
    	sessp =  snmp_sess_open(&session); 	
     
    	//Si la session n'a pas été ouverte...
    	if(sessp == NULL)
    		{
    			//La variable contient le code d'invalidité.
    			verif_connexion = connexion_NOK; 
    		}
    	//Sinon...
    	else
    		{			
    			//La variable contient le code de validité.
    			verif_connexion = connexion_OK;
    		}		
     
    	//On retourne l'état de la connexion.
    	return verif_connexion;
    }
    a+

  17. #17
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 72
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par Bundy*Al Voir le message
    Essaye déja sa pour vérifier si tu te connectes bien, c'est juste en exemple tu dois modifier légérement le code pour que sa marche.
    Comme tu vas le voir c'est pas compliqué.

    a+
    Merci pour le code!
    Je vais essayer,mais pas tout suite,car je suis encore dans la recherche,l'analyse et conception.
    Juste une question:-quels sont les bibliothéques utilisés dans ce programme?
    Je vous donnerez des nouvelles dans l'avancement du projet!
    A+

  18. #18
    Membre actif
    Homme Profil pro
    testeur logiciel
    Inscrit en
    Juin 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : testeur logiciel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 125
    Points : 211
    Points
    211
    Par défaut
    Comme tu peux le voir j'avais utilisé la bibliothéque ucd-snmp (rpm) et pas net-snmp. Je ne me souviens plus pourquoi mais sa marche aussi bien (dev sous redhat 9).

    //Classes
    #include <iostream>
    #include <string.h>
    #include <sys/types.h>
    #include <netinet/in.h>
    #include <ucd-snmp/asn1.h>
    #include <ucd-snmp/snmp_api.h>
    #include <ucd-snmp/ucd-snmp-config.h>
    #include <ucd-snmp/ucd-snmp-includes.h>
    #include <ucd-snmp/parse.h>

Discussions similaires

  1. Faire des requetes SQL avec Zend
    Par leroidje dans le forum Zend_Db
    Réponses: 14
    Dernier message: 13/05/2012, 02h57
  2. faire des requetes sur la table attributaire avec sql
    Par darkaminoo dans le forum SIG : Système d'information Géographique
    Réponses: 3
    Dernier message: 13/12/2010, 19h29
  3. Réponses: 8
    Dernier message: 08/09/2009, 15h46
  4. librairie pour faire des requete DNS
    Par Z-fly dans le forum Réseau
    Réponses: 2
    Dernier message: 14/08/2008, 04h23
  5. Réponses: 2
    Dernier message: 26/06/2007, 17h23

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