我正在研究一个c ++代码项目,该项目应该能够发现网络上的所有snmp设备,然后如果设备名称与我要查找的传感器名称之一匹配(我有2种不同的名称温度传感器),然后我想发送一个snmpGet请求,该请求向我返回值(温度)。
我的snmpGet部分没有问题,但是我在确定正确的snmp发现代码方面遇到了麻烦。我目前使用的snmp++库比net-snmp更受欢迎,因为它易于使用并支持C ++。但我欢迎提出任何建议以使这项工作有效。
在snmp ++中使用snmpDiscovery代码不会为我返回任何信息。因此,我将snmpGet与广播地址一起使用,该地址很少为每个snmpGet调用返回snmp设备的信息之一,但不是一次返回所有snmp设备的信息。因此这是不可预测的,因为即使网络中有我的温度传感器之一,我也不知道是否启用了snmp的打印机能ping通。反正这吗?另外,我没有使用snmp版本3。如果这样做会有所帮助吗?
感谢支持!
答案 0 :(得分:0)
他们围绕设备发现建立了整个公司,因此问题并不容易。
作为捷径,如果您知道设备的网络地址,则可以 遍历一个范围,例如。如果您知道它们位于10.0.0 / 24网络中,则可以 查询例如sysDescr for 10.0.0.1至10.0.0.254。