Найти - Пользователи
Полная версия: pysnmp + opaque как декодировать?
Начало » Python для новичков » pysnmp + opaque как декодировать?
1
krb
Получаю с устройства по SNMP значение в формате float. snmpwalk выдает следующее
snmpwalk -c public -v 1 127.0.0.1 1.3.6.1.4.1.19707.7.4.2.1.3.2.0
iso.3.6.1.4.1.19707.7.4.2.1.3.2.0 = Opaque: Float: -72.750000

но в python это значение получается в таком виде
(ObjectName('1.3.6.1.4.1.19707.7.4.2.1.3.2.0'), Opaque('\x9fx\x04\xc2\x92\x80\x00'))

Как привести к значению float? Использую python 2.6 + библиотека pysnmp
krb
Есть идеи?
Андрей Светлов
6 байт в opaque не похожи на float. И тем более на -72.75
krb
iso.3.6.1.4.1.19707.7.4.2.1.3.2.0 = Opaque: Float: -71.750000
iso.3.6.1.4.1.19707.7.4.2.1.3.7.0 = Opaque: Float: 23.023399

(ObjectName('1.3.6.1.4.1.19707.7.4.2.1.3.2.0'), Opaque('\x9fx\x04\xc2\x8f\x80\x00'))
(ObjectName('1.3.6.1.4.1.19707.7.4.2.1.3.7.0'), Opaque('\x9fx\x04A\xb8/\xec'))

Тогда я совсем не понимаю на что это похоже.
krb
Может в каком-то кодированном виде приходит?
krb
решил прямым вызовом snmpwalk из python. Топорно, но работает.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB