如何在PySNMP中实现自定义MIB?

时间:2012-06-05 00:18:13

标签: python mib pysnmp

我已经有了MIB文本文件(我是否需要以某种方式将其转换为.py文件?)。我正在尝试使用PySNMP(不是net-snmp)。我已经能够连接到我的设备并打印出一些信息,但信息不是很有用(只是ObjectName,ObjectIdentifier等)。我希望能够与设备通信(发送命令来更改和读取值),但我看到的所有教程似乎都没什么帮助。有谁知道如何使用我的自定义MIB与我的设备进行有效通信?我遗失的任何好网站? http://pysnmp.sourceforge.net/没问题,但我需要别的......

1 个答案:

答案 0 :(得分:8)

要将MIB与pysnmp一起使用,首先应将MIB转换为pysnmp格式(这是Python对象的集合)。使用pysnmp / tools / build-pysnmp-mib shell脚本以下列方式完成转换:

$ sh build-pysnmp-mib -h
build-pysnmp-mib: illegal option -- h
Convert MIB text file into PySNMP-compliant module, see http://pysnmp.sf.net.
Usage: build-pysnmp-mib [-o pysnmp-mib-file ] [ mib-text-file ]

确保您还安装了libsmi(pysnmp脚本使用libsmi发行版中的smidump工具)。

除非您将新的pysnmp MIB文件放入pysnmp / smi / mibs /(这不是一个好主意),否则您还必须将pysnmp指向您自己的MIB所在的位置。这可以按照here所解释的那样完成。

完成MIB后,您可以按照here中的说明在脚本中使用它。

您可以通过调用pysnmp-apps软件包附带的pysnmpget / pysnmpset工具快速检查新MIB的工作原理。

顺便说一下,您需要使用的MIB已经转换为pysnmp格式并与pysnmp-mibs包一起分发。