7

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

4

1 回答 1

7

要将 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 所在的位置。这可以按照这里的解释来完成。

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

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

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

于 2012-06-05T16:01:00.993 回答