我试图在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
现在我试图在Python中使用pysnmp做同样的事情。
我试着用了一些基于这里的例子-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的简单方法吗?
干杯, 维克多
我相信以下代码对您有用:
您可以将其剪切并粘贴到Python提示符中,以尝试使用它。
MibVariable对象可用于按名称引用MIB符号。
相关问题 更多 >
编程相关推荐