我正在为SNMP walk编写一个python脚本,并希望打印出变量名沿着关联值。我目前使用的代码提供了数字OID及其值。我有MIB文件-有办法输出变量名吗?
这是我正在使用的代码:
def walk_mib(ipaddress, oid):
for (errorIndication, errorStatus, errorIndex, varBinds) in nextCmd(SnmpEngine(),
CommunityData('public'),
UdpTransportTarget((ipaddress, 161)),
ContextData(),
ObjectType(ObjectIdentity(oid)),
):
if not errorIndication and not errorStatus:
for varBind in varBinds:
result=' = '.join([x.prettyPrint() for x in varBind])
print(result)
walk_mib('<ip address>', start_oid)
它给出如下输出:SNMPV 2-SMI::[OID] = [value]我想要的是类似于以下内容的内容:SNMPV 2-SMI::[变量名称] = [值]
1条答案
按热度按时间pexxcrt21#
人们确实需要知道你现在走过的是哪个OID,这样才能更好地回答这个问题。
如果OID在私有企业下(例如Cisco相关企业),则需要显式加载MIB文档,
然后可以将这样的
snmpEngine
对象传递给nextCmd
。