Найти - Пользователи
Полная версия: PySNMP
Начало » Python для экспертов » PySNMP
1
avdoshkin
Пытаюсь воспользоваться PySNMP но SNMP v3 т.к. SNMP v2 работает.
выполняю код:
from pysnmp.entity.rfc3413.oneliner import cmdgen

varBindTable = cmdgen.CommandGenerator().nextCmd(cmdgen.UsmUserData('igor','11111111','22222222'),
cmdgen.UdpTransportTarget(('10.0.12.7', 161)),(1,3,6,1,2,1,1,1,0))
в ответ ошибки
Traceback (most recent call last):
File "./snmp_test_6.py", line 7, in <module>
cmdgen.UdpTransportTarget(('10.0.12.7', 161)),(1,3,6,1,2,1,1,1,0))
File "/usr/local/lib/python2.6/site-packages/pysnmp-4.1.16a-py2.6.egg/pysnmp/entity/rfc3413/oneliner/cmdgen.py", line 441, in nextCmd
File "/usr/local/lib/python2.6/site-packages/pysnmp-4.1.16a-py2.6.egg/pysnmp/carrier/asynsock/dispatch.py", line 33, in runDispatcher
File "/usr/local/lib/python2.6/asyncore.py", line 151, in poll
read(obj)
File "/usr/local/lib/python2.6/asyncore.py", line 82, in read
obj.handle_error()
File "/usr/local/lib/python2.6/asyncore.py", line 78, in read
obj.handle_read_event()
File "/usr/local/lib/python2.6/asyncore.py", line 428, in handle_read_event
self.handle_read()
File "/usr/local/lib/python2.6/site-packages/pysnmp-4.1.16a-py2.6.egg/pysnmp/carrier/asynsock/dgram/base.py", line 73, in handle_read
File "/usr/local/lib/python2.6/site-packages/pysnmp-4.1.16a-py2.6.egg/pysnmp/carrier/base.py", line 39, in _cbFun
File "/usr/local/lib/python2.6/site-packages/pysnmp-4.1.16a-py2.6.egg/pysnmp/entity/engine.py", line 61, in __receiveMessageCbFun
File "/usr/local/lib/python2.6/site-packages/pysnmp-4.1.16a-py2.6.egg/pysnmp/proto/rfc3412.py", line 307, in receiveMessage
File "/usr/local/lib/python2.6/site-packages/pysnmp-4.1.16a-py2.6.egg/pysnmp/proto/mpmod/rfc3412.py", line 522, in prepareDataElements
File "/usr/local/lib/python2.6/site-packages/pysnmp-4.1.16a-py2.6.egg/pysnmp/proto/secmod/rfc3414/service.py", line 483, in processIncomingMsg
File "/usr/local/lib/python2.6/site-packages/pyasn1-0.0.13b-py2.6.egg/pyasn1/type/univ.py", line 37, in __sub__
File "/usr/local/lib/python2.6/site-packages/pyasn1-0.0.13b-py2.6.egg/pyasn1/type/univ.py", line 99, in clone
File "/usr/local/lib/python2.6/site-packages/pyasn1-0.0.13b-py2.6.egg/pyasn1/type/univ.py", line 23, in __init__
File "/usr/local/lib/python2.6/site-packages/pyasn1-0.0.13b-py2.6.egg/pyasn1/type/base.py", line 64, in __init__
File "/usr/local/lib/python2.6/site-packages/pyasn1-0.0.13b-py2.6.egg/pyasn1/type/base.py", line 31, in _verifySubtypeSpec
File "/usr/local/lib/python2.6/site-packages/pyasn1-0.0.13b-py2.6.egg/pyasn1/type/constraint.py", line 33, in __call__
pyasn1.type.error.ValueConstraintError: ConstraintsIntersection(ConstraintsIntersection(), ValueRangeConstraint(484, 2147483647L)) failed at: "ValueRangeConstraint(484, 2147483647L) failed at: "481""
Кто, что посоветует?
snmpjog
avdoshkin
Пытаюсь воспользоваться PySNMP но SNMP v3 т.к. SNMP v2 работает.
выполняю код:
from pysnmp.entity.rfc3413.oneliner import cmdgen

varBindTable = cmdgen.CommandGenerator().nextCmd(cmdgen.UsmUserData('igor','11111111','22222222'),
cmdgen.UdpTransportTarget(('10.0.12.7', 161)),(1,3,6,1,2,1,1,1,0))
в ответ ошибки
Traceback (most recent call last):
File "./snmp_test_6.py", line 7, in <module>
...
File "/usr/local/lib/python2.6/site-packages/pysnmp-4.1.16a-py2.6.egg/pysnmp/proto/secmod/rfc3414/service.py", line 483, in processIncomingMsg
Кто, что посоветует?
Возможно баг в pysnmp. Попробуйте заменить число 48 на 44 в файле pysnmp/proto/secmod/rfc3414/service.py, line 483
avdoshkin
snmpjog
avdoshkin
Пытаюсь воспользоваться PySNMP но SNMP v3 т.к. SNMP v2 работает.
выполняю код:
from pysnmp.entity.rfc3413.oneliner import cmdgen

varBindTable = cmdgen.CommandGenerator().nextCmd(cmdgen.UsmUserData('igor','11111111','22222222'),
cmdgen.UdpTransportTarget(('10.0.12.7', 161)),(1,3,6,1,2,1,1,1,0))
в ответ ошибки
Traceback (most recent call last):
File "./snmp_test_6.py", line 7, in <module>
...
File "/usr/local/lib/python2.6/site-packages/pysnmp-4.1.16a-py2.6.egg/pysnmp/proto/secmod/rfc3414/service.py", line 483, in processIncomingMsg
Кто, что посоветует?
Возможно баг в pysnmp. Попробуйте заменить число 48 на 44 в файле pysnmp/proto/secmod/rfc3414/service.py, line 483
Привет! Спасибо за ответ, попробовал изменить header length не помогло.
snmpjog
avdoshkin
Привет! Спасибо за ответ, попробовал изменить header length не помогло.
Выглядит так, что в ответе от SNMP агента приходит что-то, что вызывает неправильный расчет вот этого выражения:

        # (48 - maximum SNMPv3 header length)
maxSizeResponseScopedPDU = maxMessageSize - len(securityParameters)-48
где maxSizeResponseScopedPDU (по-сути экземпляр maxMessageSize) не может быть меньше 484 байт (а получается 481). Предлагаю поэкспериментировать с константой, распечатать вычитаемые и сообщить рез-ты в pysnmp-users mailing list для анализа\исправления проблемы.

Еще кажется, что все это выражение можно заменить какой-нибудь константой (типа 4096). Хотя конечно этот подход не решает проблему.
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