如何在C中撰写和发送SNMP响应

时间:2017-03-29 04:07:49

标签: snmp net-snmp

有许多演示net-snmp程序从代理接收SNMP响应并解析它。但是,我想要相反的功能,假设我想使用UDP / IP发送SNMP响应PDU。我已经拥有要发送给经理的值(例如,sysName.0 =“ABCDEFGH”)。

有人可以指出一些可以实现此目的的API。

1 个答案:

答案 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代理程序。