Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > VB6 > Работа с snmp |
Автор: admsasha 12.6.2006, 13:53 |
Как работать с UDP я знаю, а вот как работать именно с snmp на VB ? Может есть небольшой пример ? P.S. можно пример и на Perl`е |
Автор: Akina 12.6.2006, 19:43 | ||
Друг мой, UDP - это 4-5 уровень, а SNMP - 6-7 уровень... |
Автор: Akina 13.6.2006, 10:03 |
SNMP - протокол уровня приложения. Ты шлешь идентификатор, получаешь значение. Описание - в соотв. RFC. А поверх какого протокола это происходит (TCP, UDP, IPX, etc.) - тебе глубоко фиолетово. |
Автор: admsasha 8.11.2006, 11:29 | ||
а примерчик можно ? ![]() есть ip, 10.10.10.10 есть comunity, public ну и mib .1.3.6.1.4.1.171.10.65.1.6.6.4.0 как его отослать устройству и получить ответ ? |
Автор: JUmPER 8.11.2006, 12:05 | ||
держи =)
кусок кода из системы учёта и слежения за трафиком |
Автор: Fokrem 18.7.2014, 14:42 |
В продолжение темы, хотелось бы увидеть пример на VB для отправки запросов SNMP GET в виде програмулины где к примеру 3 поля 1) IP адрес 2) запрос OID 3) Получение ответа. Заранее спасибо! Требуется для построения более сложной программы. |
Автор: CompWorm 13.8.2014, 02:24 |
Fokrem, шаг первый: создать простую говорилку по TCP/UDP. примеров в инете масса. это поможет с отладкой. шаг второй: отправить в качестве сообщения не стринговую строку, а шестнадцатиричный массив. шаг третий: теперь в качестве шестнадцатеричного массива отправляем SNMP сообщение. поскольку SNMP не самый простой протокол, советую начатьhttp://www.rane.com/note161.html, там подробно описан порядок битов. где может быть подвох - ну, во-первых нужно правильно считать "http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf". во-вторыx, SNMP довольно част заворачивают в PMPP. в нём тоже ничего премудрого нет, но там есть подсчёт CRC, алгоритм которой сильно различается для разных девайсов. далее, следует упаковывать по нескольку MIBов в пакет, а не слать отдельными запросами - так быстей будет работать. ну и на последок, следует побайтово читать сокет, а не блоками, так как "0х00" не означает конец сообщения. читай байт размера сообщения, затем хвост такого размера. с PMPP проще, там есть фреймовый флаг, соответственно читаешь от 0х7Е до 0х7Е. можно просто тупо читать байт и тут же парсить - https://ru.wikipedia.org/wiki/%D0%A6%D0%B5%D0%BF%D0%BE%D1%87%D0%BA%D0%B0_%D0%BE%D0%B1%D1%8F%D0%B7%D0%B0%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B5%D0%B9 в помощь попробуй пройтись по этим трём пунктам и отпишись, где застрял. в качестве инструмента для отладки юзай https://en.wikipedia.org/wiki/Wireshark(он нативно умеет разбирать SNMP) и http://www.ireasoning.com/mibbrowser.shtml (Для компиляции своих МИБ-файлов, используй http://mg-soft-mib-browser.updatestar.com/). кстати, пример SNMP сессии для Wireshark разобран на их http://wiki.wireshark.org/SNMP. |