Ein Skript, das ich auf meinem Laptop entwickelt habe, läuft gut, aber auf einem Remote-Server gibt es nicht das zurück, was ich erwarten würde.PySNMP gibt verschiedene Werte auf verschiedenen Maschinen zurück
Mein Server hat diese Ausgabe:
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...]
Die Ergebnisse sind ein MibVariable und OctetString.
Auf meinem Laptop, erhalte ich folgendes:
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...]
Ich bin mir nicht sicher, was pysnmp Rückkehr machen könnte anders, anders als die kleinere Version - aber die ältere Version (auf dem Server) scheint habe viel bessere Leistung als die "neuere" Version auf meinem Laptop?
Fehle ich etwas offensichtlich?
Danke für die Hilfe, landete ich Verwenden Sie eine ähnliche Methode, um Ihre zu imitieren. –
Obwohl ich nicht sicher bin, was ist dein ultimatives Ziel hier? Müssen Sie die genauen zurückgegebenen SNMP-Typen kennen? –
Nein, ich versuche im Wesentlichen nur diese OID zu durchlaufen, um alle Werte zurück zu bekommen. Ich habe einen Suchstring, den ich in dieser Tabelle finden möchte, wobei der letzte Teil der OID der Index der Sache ist, nach der ich suche. –