有许多演示net-snmp程序从代理接收SNMP响应并解析它。但是,我想要相反的功能,假设我想使用UDP / IP发送SNMP响应PDU。我已经拥有要发送给经理的值(例如,sysName.0 =“ABCDEFGH”)。
有人可以指出一些可以实现此目的的API。
答案 0 :(得分:0)
你想要的是调用SNMP agent
。
如果我们采用SNMP v2c,则SNMP响应PDU与请求的响应PDU几乎相同,但它具有其他请求类型字段和用于变量绑定的非空值。
对于普通的C,我不知道将简单的SNMP代理编写为独立程序的简单方法 - 只需创建自己的解析器和序列化程序,并自己使用网络。使用net-snmp
,您可以编写代理模块或子模块以与net-snmp守护程序(http://www.net-snmp.org/tutorial/tutorial-5/toolkit/)一起使用。也可以使用perl并为陷阱(作为陷阱接收器)和其他请求(作为代理)编写自定义处理程序,因为net-snmp
嵌入了perl解释器
或者,如果您可以使用c++
,则可以使用agent++
库(https://agentpp.com/)并编写独立的SNMP代理程序。