我正在尝试在 Python 中查询 Cisco 路由设备上的 SNMP 变量,并且正在苦苦挣扎。
我有一个运行良好的 snmpwalk 命令:
$snmpwalk -v2c -c <our_community_string> <device_ip_address> 1.3.6.1.4.1.9.9.42.1.2.10.1.1.950
SNMPv2-SMI::enterprises.9.9.42.1.2.10.1.1.950 = Gauge32: 68
现在我正在尝试使用 pysnmp 在 Python 中做同样的事情。
我尝试使用基于此处示例的东西 - http://pysnmp.sourceforge.net/examples/current/index.html - 但得到了一个 SmiError:
In [1]: from pysnmp.entity.rfc3413.oneliner import cmdgen
In [2]: cmdGen = cmdgen.CommandGenerator()
In [3]: errorIndication, errorStatus, errorIndex, varBinds = cmdGen.getCmd(
...: cmdgen.CommunityData('0pe3aro'),
...: cmdgen.UdpTransportTarget(('10.65.113.28', 161)),
...: cmdgen.MibVariable('1.3.6.1.4.1.9.9.42.1.2.10.1.1.950', 0)
...: )
但我得到以下信息:
SmiError: MIB file "1.3.6.1.4.1.9.9.42.1.2.10.1.1.950.py[co]" not found in search path
基本上 - 我希望在 NetSNMP 中与此等效,但在 PySNMP ( http://ben.akrin.com/?p=1234 ) 中。
有人知道在 PySNMP 中查询数字 OID 的简单方法吗?
干杯,维克多