如何使snmp oids对人类的可读性

时间:2014-11-21 13:33:21

标签: python python-2.7 snmp pysnmp

我创建了一些smnp代理,它将使用pysnmp来获取OID响应。 我如何通过pysnmp使人类可以读取OID?

示例命令生成器:

    cmdGen = cmdgen.CommandGenerator()

    errorIndication, errorStatus, errorIndex, varBinds =cmdGen.getCmd(
    cmdgen.UsmUserData('user','privKey','authKey'),
    cmdgen.UdpTransportTarget(('127.0.0.1', 161)),(1,3,6,1,2,1,1,1,0))

    #what I need:
    make_human_readble_OID(VarBinds)

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

您应该将 lookupNames 和/或 lookupValues 标记传递给getCmd(),如图here所示。请记住,人类可读性通常需要明确使用MIB。要将MIB与pysnmp一起使用,您必须:

  1. 使用build-pysnmp-mib工具(来自pysnmp发行版)将MIB从其本机ASN.1表示转换为pysnmp类
  2. 通过将文件系统上的位置通过.loadMibs()或.addMibSources()传递到MibVariable,使pysnmp加载并使用那些pysnmp样式的MIB,如图所示here