0

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

我对 snmpGet 部分没有任何问题,但我无法找出正确的 snmp 发现代码。我目前使用的是snmp++库,我更喜欢 net-snmp,因为它易于使用并支持 C++。但我愿意接受任何建议来完成这项工作。

在 snmp++ 中使用 snmpDiscovery 代码不会为我返回任何信息。所以我使用带有广播地址的 snmpGet,它很少为每个 snmpGet 调用返回一个 snmp 设备的信息,但不是一次返回所有 snmp 设备的信息。所以它是不可预测的,因为即使我的一个温度传感器在网络中可用,我也不知道我的启用 snmp 的打印机是否会返回。无论如何围绕这个?另外我没有使用 snmp 版本 3。如果我这样做会有帮助吗?

感谢您的支持!

4

1 回答 1

0

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

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

于 2018-12-17T19:49:54.667 回答