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

2024-05-20 19:54:55 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: 文件py命令信息httpnet网站教程
1条回答
网友
1楼 · 发布于 2024-05-20 19:54:55

要将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应用程序包附带的pysnmpget/pysnmpset工具,您可以快速检查新MIB的工作方式。

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

相关问题 更多 >