Net-SNMP возвращает типы
Net-snmp имеет небольшое количество типов:
i: INTEGER, u: неподписанный INTEGER, t: TIMETICKS, a: IPADDRESS o: OBJID, s: STRING, x: HEX STRING, d: DECIMAL STRING U: unsigned int64, I: подписанный int64, F: float, D: двойной
Интересно, что на этом история не заканчивается. Например, если у меня есть unsigned int64, я получу Gauge32 в качестве типа после отправки "snmpget". Я ищу таблицу, в которой перечислены все возможные "строки типа" (например, "Gauge32" или "INTEGER"), которые Net-SNMP будет возвращать вместе с фактическим типом, с которым связана строка. Таким образом, эта таблица будет иметь очевидные записи, такие как:
(возвращаемое значение из snmpget, type, символ snmpset) -> ("INTEGER", INTEGER, i)
Если кто-нибудь знает, где найти исчерпывающий список, пишите.
1 ответ
Это не прямой ответ на ваш вопрос.
Документы SNMP RFC, опубликованные в IETF, определяют только ограниченный набор типов,
http://www.logmatrix.com/blog/bid/69744/Understanding-SNMP-Data-Types
Их следует рассматривать как встроенные типы.
Помимо встроенных типов int, есть другие производные типы, определенные через MACRO, такие как DisplayString и так далее.
Я создал клоны утилит NET-SNMP на основе #SNMP, и я понял, что не все типы в справочных страницах NET-SNMP являются правильными. Поэтому мой клон snmpset обрабатывает только подмножество этих типов (U, I, F и D не поддерживаются),
https://github.com/lextm/sharpsnmplib/blob/master/Samples/CSharp/snmpset/Program.cs