Pysnmp命令响应器包装器

时间:2017-01-10 13:53:39

标签: python ubuntu pysnmp

我想开发简单的pysnmp命令响应器来监听我的测试仪器设备,从设备获取请求并用我自己的命令(Telnet命令)替换它在我的主机PC(Ubuntu)中并将其发送到评估板。过去在HOST上也支持SNMP,我想只保留设备上存在的PLUGIN的结构,只改变主机端。

请不要问我为什么这样做。 我准备了与SNMP中的设备一起使用的MIB文件。安装在设备上的PLUGIN知道如何工作并使用我知道的OID发送MIB OID,并根据请求在主机PC上用命令替换我自己的命令。 请参阅流程,例如评估板获取频率:

  

插入设备发送命令以获取频率(MIB OID):   1.3.6.1.4.1.55555.1.1.5.1.1.2.1

     

收听设备(SNMPv1端口161),从设备获取频率请求(1.3.6.1.4.1.55555.1.1.5.1.1.2.1)并将其替换为本地PC主机(Ubuntu):get_frequency_mycommand_telnet

如何使用Python 2.7进行最简单的操作?

1 个答案:

答案 0 :(得分:1)

我建议您将脚本基于this example

您可以实施自定义insideNSPredicateEditorRowTemplate通讯MIB object instance telnet。确保设置正确的OID以使此对象成为SNMP可寻址的。

此外,添加对SNMP SET操作的支持,并可能将传入的值传递到__call__()或您可能想要实现的其他方法。

如果您不需要,可能需要抓取IPv6 support

请记住,使用此实现时__call__()会阻塞,因此在__call__()完成之前不会处理任何其他SNMP查询。您可以通过使您的telnet客户端异步来增强它以实现更高的性能和并发性。