pysnmp命令响应器-处理带有外部数据的获取/设置请求(非mib)

皮诺

我想为使用协议与复杂的python程序“对话”的获取/设置请求开发SNMP代理。

这很难解释,因此我尝试举一个例子:

SNMP收到对参数x的获取请求。它向我的程序询问x的当前值,并将答案发送给客户端

我想要一个有关如何在单个方法中“拦截”获取/设置请求的提示,在该方法中,我可以使decodeMsg-sendToPython-receiveFromPython-encodeMsg-sendToClient流程。

伊利亚·埃廷霍夫(Ilya Etingof)

pysnmp可以实现此类应用程序的各种设计,所有设计均基于CommandResponder类。也许最直接的方法是创建自己的MibInstrumentationController类该类将同步接收GET / SET / GETNEXT查询,并有望返回响应变量绑定:

class EchoMibInstrumController(instrum.AbstractMibInstrumController):
    def readVars(self, vars, acInfo=(None, None)):
        return vars
    def readNextVars(self, vars, acInfo=(None, None)):
        return vars
    def writeVars(self, vars, acInfo=(None, None)):
        return vars

另一种解决方案是将您的MIB编译为pysnmp格式(使用PySMI编译器),并专门设置MIB变量又称为受管对象实例),以便它们可以通过某种协议与您的后端数据存储(程序)对话。

但是,这两种方法都是同步工作的,这意味着您将阻塞SNMP引擎,直到从后端检索数据并从请求处理功能返回为止。如果期望较高的并发负载和/或缓慢的数据存储,则可能必须使用异步运行的CommandResponder类的较低级别的API。

也可以通过放置在SNMP消息处理代码的关键位置的一组挂钩利用SNMP引擎工作流但是该功能主要旨在从SNMP引擎内部获取非常具体的数据,而不是指导其操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

pysnmp命令响应器-处理带有外部数据的获取/设置请求(非mib)

来自分类Dev

Pysnmp命令响应程序包装器

来自分类Dev

处理带有响应的获取请求

来自分类Dev

事件聚合器,命令和请求/响应之间的区别

来自分类Dev

带有HOST-RESOURCES-MIB的pysnmp代理

来自分类Dev

具有Recv /发送命令和请求/响应设计的C ++服务器

来自分类Dev

获取AT命令响应

来自分类Dev

在php脚本中执行curl命令并从服务器获取响应并将其提取

来自分类Dev

HTTP 服务器发送带有响应的新请求

来自分类Dev

处理来自telnet命令的响应

来自分类Dev

Laravel 5获取命令响应

来自分类Dev

PySNMP代理的MIB

来自分类Dev

R Shiny-如何将带有参数的请求网址发送到R Shiny,并仅获取数据响应?

来自分类Dev

为什么通过命令行运行 jmx 时侦听器中的请求和响应为空白

来自分类Dev

如何处理:此请求没有可用的响应数据

来自分类Dev

处理排队的命令处理程序响应。CQRS

来自分类Dev

带有指针的获取器和设置器

来自分类Dev

获取在Tornado请求处理程序中设置的当前响应标头

来自分类Dev

从Ping命令获取响应时间

来自分类Dev

从shell命令的响应中获取文本

来自分类Dev

从通过PHP执行的Unix命令获取响应

来自分类Dev

如何发送带有消息的命令以成功响应bash函数?

来自分类Dev

条件`if`带有在else中不响应的命令

来自分类Dev

带有在 else 中不响应的命令的条件 `if`

来自分类Dev

Ruby on Rails 服务器在使用 Java 脚本处理数据后响应发布请求

来自分类Dev

下行数据之间的GSM AT命令响应

来自分类Dev

下行数据之间的GSM AT命令响应

来自分类Dev

Discord bot没有响应命令

来自分类Dev

kubernetes 复制命令没有响应

Related 相关文章

热门标签

归档