如果这是一个微不足道的问题,请原谅我的无知。我正在编写一些代码以支持通过SNMPv3进行通信;我们的应用程序目前只支持SNMPv2c。
除非我匹配社区字符串,否则使用SNMPv3进行通信时的响应对象是空的。我的印象是,社区字符串是“SNMPv2 2/1”,“新方法”是使用用户名/专用协议/隐私协议。
维基百科说:
虽然SNMPv3除了增加加密安全性之外没有对协议做任何更改,但由于新的文本约定、概念和术语,它看起来有很大的不同。
这一声明使我相信,事实上,我也需要提供社区条件。
我只想确认这一点,因为我很难判断是因为我满足了SNMPv2需求,还是因为我成功地满足了所有的SNMPv3需求而返回数据。
我正在使用Dart的SNMP库与另一个设备进行通信,并且我已经指定我的请求应该使用SNMPv2 3 --但是如果给出有效的SNMP社区,它可能会回到幕后的SNMPv2?
发布于 2012-05-02 23:38:48
不,您没有。内部数据包结构改变了许多新的概念,如上面的引号试图表明。上面所述的协议端与PDU操作相同,例如,在技术上有3个版本的SNMP:
version 1: community string based authentication with SMNPv1 PDUs
version 2c: community string based authentication with SNMPv2 PDUs
(the SNMPv2 PDUs add GETBULK, INFORM, and REPORT PDUs)
version 3: modular security with SNMPv2 PDUs例如,第3版并没有触及实际操作的工作方式(它仍然在使用版本2中的PDU类型),而只是在它们周围添加了其他的头部内容(比如更好的、更模块化的安全性;实际上,现在我们有3种不同的安全类型可供选择: USM、SSH和(D)TLS)。
https://stackoverflow.com/questions/10422762
复制相似问题