使用C ++库发现Snmp设备

时间:2018-12-17 10:59:18

标签: snmp net-snmp service-discovery snmpd

我正在研究一个c ++代码项目,该项目应该能够发现网络上的所有snmp设备,然后如果设备名称与我要查找的传感器名称之一匹配(我有2种不同的名称温度传感器),然后我想发送一个snmpGet请求,该请求向我返回值(温度)。

我的snmpGet部分没有问题,但是我在确定正确的snmp发现代码方面遇到了麻烦。我目前使用的snmp++库比net-snmp更受欢迎,因为它易于使用并支持C ++。但我欢迎提出任何建议以使这项工作有效。

在snmp ++中使用snmpDiscovery代码不会为我返回任何信息。因此,我将snmpGet与广播地址一起使用,该地址很少为每个snmpGet调用返回snmp设备的信息之一,但不是一次返回所有snmp设备的信息。因此这是不可预测的,因为即使网络中有我的温度传感器之一,我也不知道是否启用了snmp的打印机能ping通。反正这吗?另外,我没有使用snmp版本3。如果这样做会有所帮助吗?

感谢支持!

1 个答案:

答案 0 :(得分:0)

他们围绕设备发现建立了整个公司,因此问题并不容易。

作为捷径,如果您知道设备的网络地址,则可以 遍历一个范围,例如。如果您知道它们位于10.0.0 / 24网络中,则可以 查询例如sysDescr for 10.0.0.1至10.0.0.254。