0

我创建了一些 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)

感谢帮助!

4

1 回答 1

2

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

  1. 使用 build-pysnmp-mib 工具(来自 pysnmp 发行版)将 MIB 从其本机 ASN.1 表示形式转换为 pysnmp 类
  2. 通过 .loadMibs() 或 .addMibSources() 将它们在文件系统上的位置传递给 MibVariable,使 pysnmp 加载并使用这些 pysnmp 样式的 MIB,如下所示
于 2014-11-22T10:59:53.310 回答