Обнаружение устройства Snmp с использованием библиотеки C ++ - PullRequest
0 голосов
/ 17 декабря 2018

Я работаю над проектом кода на c ++, который должен быть в состоянии обнаружить все устройства snmp в сети, а затем, если имя устройства совпадает с одним из имен датчиков, которые я ищу (у меня есть 2 разныхдатчики температуры через Ethernet), затем я хочу отправить запрос snmpGet, который возвращает мне значение (температуру).

У меня нет проблем с частью snmpGet, но у меня возникают проблемы с поиском правильного обнаружения snmpкод.В настоящее время я использую библиотеку snmp ++ , которую я предпочел перед net-snmp из-за ее простоты использования и поддержки C ++.Но я открыт для любых рекомендаций, чтобы сделать эту работу.

Использование кода snmpDiscovery в snmp ++ не возвращает никакой информации для меня.Поэтому я использовал snmpGet с широковещательным адресом, который редко возвращает одну информацию об устройстве snmp для каждого вызова snmpGet, но не информацию всех устройств snmp одновременно.Так что это непредсказуемо, потому что даже если бы один из моих температурных датчиков был доступен в сети, я бы не знал, будет ли вместо этого мой принтер snmp-enabled.В любом случае вокруг этого?Также я не использую snmp версии 3. Может ли это помочь?

Спасибо за поддержку!

1 Ответ

0 голосов
/ 17 декабря 2018

Они строят целые компании вокруг обнаружения устройств, поэтому проблема не из легких.

Для краткости, если вы знаете сетевые адреса ваших устройств, вы можете пересечь диапазон, например.если вы знаете, что они находятся в сети 10.0.0 / 24, вы можете запросить, например,sysDescr для 10.0.0.1 до 10.0.0.254.

...