In the pysnmp example you are doing an SNMPGET (snmpget), not a GETNEXT (snmpwalk). If you change,
real_fun = getattr(generator, 'getCmd')
to
real_fun = getattr(generator, 'nextCmd')
you will start to see useful results.
As for the discrepancy you saw in the results between snmpwalk
and the python net-snmp
bindings result: snmpwalk
and snmpbulkget
behave differently. If you do an snmpbulkget
from the command line with the same options as the snmpwalk
you’ll receive the same results as your python net-snmp
example.
If you update the following line in your python net-snmp
example,
res = netsnmp.snmpgetbulk(oid, Version=2, DestHost='192.168.0.100', Community='pub')
to
res = netsnmp.snmpwalk(oid, Version=2, DestHost='192.168.0.100', Community='pub')
then you should now get the same list of results from the python net-snmp
example as you see when you do an snmpwalk
on the command line.