Форум сайта python.su
Возникла проблема с 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
>>> 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
Офлайн
Топчусь по тем же граблям. Вы нашли выход.
Офлайн
Нашел решение. Таких проблем не возникает в версии 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
Офлайн