and_bomy Опубликовано 16 августа, 2017 · Жалоба Здравствуйте. При опросе OLT BDCom p3310c на предмет получения МАС адреса определенной ОНУ, столкнулся с не возможность прочтения данных в формате НЕХ(octet)-string. 1. запрос от сервера выглядит так запрос: root@FreeBSD09:~ # snmpwalk -c public -v 2c 10.33.13.18 1.3.6.1.4.1.3320.101.10.4.1.1.15 ответ: SNMPv2-SMI::enterprises.3320.101.10.4.1.1.15 = Hex-STRING: C8 3A 35 B5 D9 C7 2.А вот что показывает The Dude - label(Вид) запрос: [oid("1.3.6.1.4.1.3320.101.10.4.1.1.15")] ответ: Я так понимаю, что Dude, при ответе на запрос, переводит НЕХ-string (C8 3A 35 B5 D9 C7) в ASCII и после выводит на экран. Теперь вопрос к знающим людям. Объясните как правильно составить запрос в Dudе, чтобы получить удобочитаемый ответ. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
default_vlan Опубликовано 17 августа, 2017 (изменено) · Жалоба Я так понимаю, что Dude, при ответе на запрос, переводит НЕХ-string (C8 3A 35 B5 D9 C7) в ASCII и после выводит на экран. Более вероятно, что да. Давно ковырялся с dude, сейчас использую чисто на мониторинг сети. Если я правильно помню, то там есть написание собственных функций. Если напомните где, попробую помочь. Если я правильно понял, то это в конфигурации сервера -> Map -> Device Appearance -> Label. Изменено 17 августа, 2017 пользователем default_vlan Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
and_bomy Опубликовано 17 августа, 2017 (изменено) · Жалоба Да, верно. Map -> Device Appearance -> Label Но вот функций преобразования величин, стандартном Дуде - нет. На С++ было бы просто, а вот как их преобразовать в Dude , я не знаю. p.s. Спасибо что откликнулись, пишите, если от меня надо какие нибудь данные. Изменено 17 августа, 2017 пользователем and_bomy Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
default_vlan Опубликовано 18 августа, 2017 (изменено) · Жалоба Осмелюсь предположить, что такая ситуация происходит потому что данные представлены в НЕХ-string. Как обычно, я предлагаю 3 варианта решения: 1. пересмотреть еще раз snmpwalk по девайсу, может быть эти значения где-то попадаются в string, хотя не факт, но мало ли. 2. играться с функциями [Device.MacAddressesCommaList()][oid("1.3.6.1.4.1.3320.101.10.4.1.1.15")] или [Device.MacLookup()][oid("1.3.6.1.4.1.3320.101.10.4.1.1.15")] или [Device.MacAddressesColumn()][oid("1.3.6.1.4.1.3320.101.10.4.1.1.15")] либо искать описания этих функций. В самом ПО я не нашел объявления сторонних функций. 3. Через костыль. Поднимаем на сервере snmp-server, в настройках сервера указываем скрипт, который будет брать данные по snmp с этого девайса, а представлять как свои, но в другом типе данных. Вроде бы скрипт будет выполняться только при обращении к oid на сервере. Еще есть вариант, слева в вертикальном меню, есть пункт Functions. В функции snmp_name любопытно описана конкатенация 'System Name' и соответствующего OID. Можно попробовать описать свою функцию. Изменено 18 августа, 2017 пользователем default_vlan Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
CoUL Опубликовано 3 декабря, 2018 · Жалоба Проблема легко решаема. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
and_bomy Опубликовано 18 декабря, 2019 (изменено) · Жалоба И как? Прошло уже много времени с момента вопроса, но все таки как? Изменено 18 декабря, 2019 пользователем and_bomy Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...