gpt4 book ai didi

python - Pysnmp 命令响应程序包装器

转载 作者:行者123 更新时间:2023-12-04 19:15:03 26 4
gpt4 key购买 nike

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

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

Plugin in device send command to get frequency (MIB OID): 1.3.6.1.4.1.55555.1.1.5.1.1.2.1

Listen to Device (SNMPv1 port 161), get request(1.3.6.1.4.1.55555.1.1.5.1.1.2.1) for frequency from device and replace it in local PC Host(Ubuntu): get_frequency_mycommand_telnet



如何用 Python 2.7 以最简单的方式做到这一点?

最佳答案

让我建议您将脚本基于 this example .

你可以实现你的 telnet通讯 inside __call__()您的自定义MIB object instance .确保设置正确OID使该对象可通过 SNMP 寻址。

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

您可能想从头开始 IPv6 support如果你不需要它。

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

关于python - Pysnmp 命令响应程序包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41570504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com