diff options
author | elie <elie> | 2013-11-24 10:04:26 +0000 |
---|---|---|
committer | elie <elie> | 2013-11-24 10:04:26 +0000 |
commit | e1f034686632afb9863a0f886fe80431c2a1b22f (patch) | |
tree | 917d29fbae8cb4f9d75c0126715ed7c8fc36a610 /examples/hlapi/asyncore/sync/manager/cmdgen | |
parent | d9e66985f4a971d3f01b4527e8010737bc77801f (diff) | |
download | pysnmp-git-e1f034686632afb9863a0f886fe80431c2a1b22f.tar.gz |
some more examples on MIB lookup and use at oneliner CommandGenerator added
Diffstat (limited to 'examples/hlapi/asyncore/sync/manager/cmdgen')
-rw-r--r-- | examples/hlapi/asyncore/sync/manager/cmdgen/waive-mib-lookup.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/examples/hlapi/asyncore/sync/manager/cmdgen/waive-mib-lookup.py b/examples/hlapi/asyncore/sync/manager/cmdgen/waive-mib-lookup.py new file mode 100644 index 00000000..c7f08970 --- /dev/null +++ b/examples/hlapi/asyncore/sync/manager/cmdgen/waive-mib-lookup.py @@ -0,0 +1,46 @@ +# +# GETNEXT Command Generator Application +# +# Perform SNMP GETNEXT operation with the following options: +# +# * with SNMPv2c, community 'public' +# * over IPv4/UDP +# * to an Agent at demo.snmplabs.com:161 +# * for an OID in string form +# * resolve response OIDs and values into human-freidly form +# * stop when response OIDs leave the scopes of initial OIDs +# +# This script performs similar to the following Net-SNMP command: +# +# $ snmpwalk -v2c -c public demo.snmplabs.com 1.3.6.1.2.1.1 +# +# The lookupNames and lookupValues keyword arguments will make pysnmp +# trying to resolve OIDs and values, in response variable-bindings, +# into human-friendly form. If response OIDs do not belong to any of +# currently loaded MIBs, unresolved OIDs and values will still be +# returned. +# +from pysnmp.entity.rfc3413.oneliner import cmdgen + +cmdGen = cmdgen.CommandGenerator() + +errorIndication, errorStatus, errorIndex, varBindTable = cmdGen.nextCmd( + cmdgen.CommunityData('public'), + cmdgen.UdpTransportTarget(('demo.snmplabs.com', 161)), + '1.3.6.1.2.1.1', + lookupNames=True, lookupValues=True +) + +if errorIndication: + print(errorIndication) +else: + if errorStatus: + print('%s at %s' % ( + errorStatus.prettyPrint(), + errorIndex and varBindTable[-1][int(errorIndex)-1] or '?' + ) + ) + else: + for varBindTableRow in varBindTable: + for name, val in varBindTableRow: + print('%s = %s' % (name.prettyPrint(), val.prettyPrint())) |