cs_omnia
Messages postés240Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention22 mars 2009 21 nov. 2009 à 16:05
Pour l'histoire de la MIB je ne sais pas , mais je trouve sa très currieu qu'il n'existe pas de moyen de connaître la version, déjà en utilisant la méthode si dessus les versions directement compatibles sont V1 et V2 sans aucun problème V3 je n'ai jamais testé, bizzarement quand tu fais une écoute avec wireshark des trames on a bien la version du protocole qui passe.
Je n'ai pas de solution pour l'instant, sachant que la MIB est différente suivant les plateforme que tu utilise (cisco, netgear...) je ne sais pas si la véracité de tes propos est avéré.
bon weekend :)
Si je tombe sur une solution je posterais :) (si j'ai un peu de temps ) :p
valantino1
Messages postés12Date d'inscriptionjeudi 19 novembre 2009StatutMembreDernière intervention 1 décembre 2010 20 nov. 2009 à 10:35
Bonjour,
oui exactement ca ! merci omnia ok je pense que vais jouer sur l'architecture de la base mib en faite le noeud 6 dans la base mib n'existe pas sauf dans la version snmpV2, aussi bien si on trouve le noeud 3 sous le noeud 6 ca veux dire que nous somme en face d'une base mib de snmpV3. NB: que ces deux noeud n'existeent plus dans snmpV1.
que pense tu omnia ?
cs_omnia
Messages postés240Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention22 mars 2009 19 nov. 2009 à 18:28
bonsoir,
désolé de te décevoir mais ta fonction ne retourne que la version de ton système local et non la version SNMP qui est accepté au niveau de ton serveur distant . . . enfin c'est ce que j'ai compris :)
valantino1
Messages postés12Date d'inscriptionjeudi 19 novembre 2009StatutMembreDernière intervention 1 décembre 2010 18 nov. 2009 à 17:47
bonsoir omnia :)
j ai trouvé qu on peux le récupurer a partire da la fonction :
SnmpStartup
(OUT smiLPUINT32 nMajorVersion,
OUT smiLPUINT32 nMinorVersion,
OUT smiLPUINT32 nLevel,
OUT smiLPUINT32 nTranslateMode,
OUT smiLPUINT32 nRetransmitMode);
et cé OK mé le probleme qu j utilise tout comme toi <snmp.h> par contre cette fonction se trouve dans <winsnmp.h> : il ya des soucis que cette fonction ne retourne pas des valeurs si on est dans le cas d'une imprimante reseau ou un routeur par exmeple !!! je le teste maitnant et je vais t informer avec les resultat ;)
cs_omnia
Messages postés240Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention22 mars 2009 18 nov. 2009 à 17:06
Bonjour,
je n'ai pas la réponse, par contre tu peux toujours jeté un coup d'œil à la msdn :
PS : si tu as la réponse je suis intéressé :), merci de la posté ici.
valantino1
Messages postés12Date d'inscriptionjeudi 19 novembre 2009StatutMembreDernière intervention 1 décembre 2010 18 nov. 2009 à 14:26
bonjour,
je vous dis bravo un tres sympa. cod ;) mais je voudrais savoir si on peux récupurer la version de SNMP(v1,v2,v3) a partir d'un OID ou avec une autre facon avec c++ ?
cs_omnia
Messages postés240Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention22 mars 2009 12 juil. 2009 à 08:05
Pour l'erreur de la ligne 39 j'ai fai un copier coller d'une de mes fonctions qui travaillait en boucle :p
effectivement l'init est inutile ici
pour ce qui est de l'OID il n'existe pas de fonction pour le traduire vue qu'il est différent suivant les MIB utilisés, il faut donc traiter les numéros 1/1 sachant que la mib fonctionne comme un arbre.
bon codage ++
cs_jiceD
Messages postés4Date d'inscriptionvendredi 26 juin 2009StatutMembreDernière intervention12 juillet 2009 8 juil. 2009 à 13:05
Bonjour,
tout nouveau sur ce site que je ne connaissais pas, je dis bravo.
Je voudrais faire juste une petite remarque:
A la ligne 39 , tu initialises la variable snmpVarList.len à 0 et après tu fais un realloc (de 0 donc).
Je pense qu'il te faut faire "snmpVarList.len = 1" à la place ou faire le "snmpVarList.len++" avant la fonction "realloc".
Merci encore beaucoup pou ton source qui m'a débloqué en grande partie sur le SNMP.
Petite question:
==============
Connaîtrais-tu le moyen de récupérer "le libelle clair" d'un OID quelconque (tu veux le clair de ".1.3.6.1.2.1.1.1.0" par exemple - je ne parle pas de sa valeur, mais de son nom)?
merci pour ta réponse et merci encore pour ce code bien sympa !
21 nov. 2009 à 16:05
Je n'ai pas de solution pour l'instant, sachant que la MIB est différente suivant les plateforme que tu utilise (cisco, netgear...) je ne sais pas si la véracité de tes propos est avéré.
bon weekend :)
Si je tombe sur une solution je posterais :) (si j'ai un peu de temps ) :p
20 nov. 2009 à 10:35
oui exactement ca ! merci omnia ok je pense que vais jouer sur l'architecture de la base mib en faite le noeud 6 dans la base mib n'existe pas sauf dans la version snmpV2, aussi bien si on trouve le noeud 3 sous le noeud 6 ca veux dire que nous somme en face d'une base mib de snmpV3. NB: que ces deux noeud n'existeent plus dans snmpV1.
que pense tu omnia ?
19 nov. 2009 à 18:28
désolé de te décevoir mais ta fonction ne retourne que la version de ton système local et non la version SNMP qui est accepté au niveau de ton serveur distant . . . enfin c'est ce que j'ai compris :)
18 nov. 2009 à 17:47
j ai trouvé qu on peux le récupurer a partire da la fonction :
SnmpStartup
(OUT smiLPUINT32 nMajorVersion,
OUT smiLPUINT32 nMinorVersion,
OUT smiLPUINT32 nLevel,
OUT smiLPUINT32 nTranslateMode,
OUT smiLPUINT32 nRetransmitMode);
et cé OK mé le probleme qu j utilise tout comme toi <snmp.h> par contre cette fonction se trouve dans <winsnmp.h> : il ya des soucis que cette fonction ne retourne pas des valeurs si on est dans le cas d'une imprimante reseau ou un routeur par exmeple !!! je le teste maitnant et je vais t informer avec les resultat ;)
18 nov. 2009 à 17:06
je n'ai pas la réponse, par contre tu peux toujours jeté un coup d'œil à la msdn :
http://msdn.microsoft.com/en-us/library/aa379001%28VS.85%29.aspx
PS : si tu as la réponse je suis intéressé :), merci de la posté ici.
18 nov. 2009 à 14:26
je vous dis bravo un tres sympa. cod ;) mais je voudrais savoir si on peux récupurer la version de SNMP(v1,v2,v3) a partir d'un OID ou avec une autre facon avec c++ ?
12 juil. 2009 à 08:05
effectivement l'init est inutile ici
pour ce qui est de l'OID il n'existe pas de fonction pour le traduire vue qu'il est différent suivant les MIB utilisés, il faut donc traiter les numéros 1/1 sachant que la mib fonctionne comme un arbre.
bon codage ++
8 juil. 2009 à 13:05
tout nouveau sur ce site que je ne connaissais pas, je dis bravo.
Je voudrais faire juste une petite remarque:
A la ligne 39 , tu initialises la variable snmpVarList.len à 0 et après tu fais un realloc (de 0 donc).
Je pense qu'il te faut faire "snmpVarList.len = 1" à la place ou faire le "snmpVarList.len++" avant la fonction "realloc".
Merci encore beaucoup pou ton source qui m'a débloqué en grande partie sur le SNMP.
Petite question:
==============
Connaîtrais-tu le moyen de récupérer "le libelle clair" d'un OID quelconque (tu veux le clair de ".1.3.6.1.2.1.1.1.0" par exemple - je ne parle pas de sa valeur, mais de son nom)?
merci pour ta réponse et merci encore pour ce code bien sympa !