Найти - Пользователи
Полная версия: netsnmp
Начало » Network » netsnmp
1
S.
Возникла проблема с snmpset.
Есть оборудование с которого по snmp снимаются/выставляются данные. Возникла проблема при уставноке hex значений в snmpset.
Для проверки, снимаю значение
>>> var = netsnmp.Varbind('1.3.6.1.2.1.17.7.1.4.3.1.2','777')
>>>print netsnmp.snmpget(var,Version = 2,DestHost = '127.0.0.1',Community = 'private')
('\x00\x00\x00\xc0',)
Пытаюсь его установить:
>>> var = netsnmp.Varbind('1.3.6.1.2.1.17.7.1.4.3.1.2','777','\x00\x00\x00\xc0','OCTETSTR')
>>> print netsnmp.snmpset(var,Version = 2,DestHost ='127.0.0.1',Community = 'private')
error: set: adding variable/value to PDU
При этом как ни странно, если вместо нулей использовать другое возможное значение ff,все работает.
 
>>> var = netsnmp.Varbind('1.3.6.1.2.1.17.7.1.4.3.1.2','777','\xff\xff\xff\xc0','OCTETSTR')
>>> print netsnmp.snmpset(var,Version = 2,DestHost ='127.0.0.1',Community = 'private')
1
Через обыный snmpset все рабоатет идеально.
Может кто сталкивался?
soln
Топчусь по тем же граблям. Вы нашли выход.
soln
Нашел решение. Таких проблем не возникает в версии 5.4.3 + Эта версия еще исключения лучше возвращает.

In [1]: import netsnmp
In [2]: _snmpe = netsnmp.Varbind('.1.3.6.1.2.1.17.7.1.4.3.1.2', '1109' , '\xff\xff\xff\x00', 'OCTETSTR')
In [3]: snmpe = netsnmp.snmpset( _snmpe,  Version = 2, DestHost = 'ip' , Community="xxx" )
In [4]: _snmpe = netsnmp.Varbind('.1.3.6.1.2.1.17.7.1.4.3.1.2', '1109' , '\x00\x00\x00\x00', 'OCTETSTR')
In [5]: snmpe = netsnmp.snmpset( _snmpe,  Version = 2, DestHost = 'ip' , Community="xxx" )
In [6]: print(snmpe)
1
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