Un script que j'ai développé sur mon ordinateur portable fonctionne bien, mais sur un serveur distant, il ne renvoie pas ce que je m'attendais.PySNMP renvoyant différentes valeurs sur différentes machines
Mon serveur a cette sortie:
Python 2.7.5 (default, Jun 17 2014, 18:11:42)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pysnmp
>>> print pysnmp.__version__
4.2.5
>>>
>>> from pysnmp.entity.rfc3413.oneliner import cmdgen
>>> cmdGen = cmdgen.CommandGenerator()
>>>
>>> errorIndication, errorStatus, errorIndex, varBindTable = cmdGen.nextCmd(
... cmdgen.CommunityData('communitystringhere'),
... cmdgen.UdpTransportTarget(('10.10.10.10', 161)),
... '1.3.6.1.2.1.2.2.1.2',
... lookupNames=True, lookupValues=True)
>>>
... for varBindTableRow in varBindTable:
... for val in varBindTableRow:
... print val
...
(MibVariable(ObjectName(1.3.6.1.2.1.2.2.1.2.1)), OctetString('fxp0'))
(MibVariable(ObjectName(1.3.6.1.2.1.2.2.1.2.4)), OctetString('lsi'))
(MibVariable(ObjectName(1.3.6.1.2.1.2.2.1.2.5)), OctetString('dsc'))
(MibVariable(ObjectName(1.3.6.1.2.1.2.2.1.2.6)), OctetString('lo0'))
[Output truncated...]
Les résultats sont VariableMIB et OctetString.
Sur mon portable, je reçois le texte suivant:
Python 2.7.10 (default, Feb 7 2017, 00:08:15)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pysnmp
>>> print pysnmp.__version__
4.3.2
>>>
>>> from pysnmp.entity.rfc3413.oneliner import cmdgen
>>> [code ommitted, same as above...]
...
SNMPv2-SMI::mib-2.2.2.1.2.1 = fxp0
SNMPv2-SMI::mib-2.2.2.1.2.4 = lsi
SNMPv2-SMI::mib-2.2.2.1.2.5 = dsc
SNMPv2-SMI::mib-2.2.2.1.2.6 = lo0
[Output truncated...]
Je ne sais pas ce qui pourrait être fait différemment retour pysnmp, autre que la version mineure - mais la version plus ancienne (sur le serveur) semble avoir une sortie beaucoup plus agréable que la version «plus récente» sur mon ordinateur portable?
Est-ce que quelque chose me manque?
Merci pour l'aide, j'ai fini en utilisant une méthode similaire à la vôtre pour imiter. –
Bien que je ne sois pas certain quel est votre but ultime ici? Avez-vous besoin de connaître les types SNMP exacts retournés? –
Non, je suis simplement en train d'essayer de marcher cet OID pour récupérer toutes les valeurs. J'ai une chaîne de recherche que j'essaie de trouver dans ce tableau, la dernière partie de l'OID étant l'index de la chose que je cherche. –