我正在做一个c++代码项目,它应该能够发现网络上的所有snmp设备,然后如果设备名称与我正在寻找的传感器名称之一匹配(我通过以太网有两个不同的温度传感器),那么我想发送一个snmpGet请求,它将返回值(温度)。
我对snmpGet部分没有问题,但我在找出合适的snmp发现代码时遇到了麻烦。我目前使用的是snmp++库,我更喜欢它而不是net-snmp,因为它易于使用并且支持C++。但我对任何建议都持开放态度,以使其发挥作用。
在snmp++中使用snmpDiscovery代码不会为我返回任何信息。因此,我使用带有广播地址的snmpGet,它很少为每个snmpGet调用返回一个snmp设备的信息,而不是一次返回所有snmp设备的信息。所以这是不可预测的,因为即使我的一个温度传感器在网络中可用,我也不知道启用了snmp的打印机是否会ping回。不管怎样,围绕这件事?另外,我没有使用snmp版本3。如果我使用它,会有帮助吗?
感谢您的支持!
发布于 2018-12-18 03:49:55
他们围绕设备发现建立了整个公司,所以问题并不容易。
作为一种捷径,如果你知道设备的网络地址,你可以遍历一个范围,例如。如果您知道它们在10.0.0/24网络中,您可以查询例如。10.0.0.1到10.0.0.254的sysDescr。
https://stackoverflow.com/questions/53813802
复制相似问题