Python 3.4 - Последняя версия PYSNMP (пип --update)Python 3.4 PYSNMP Set вопросы
Возникли проблемы с настройкой значений ifAlias с использованием библиотеки PYSNMP. Надеясь, что кто-то может пролить свет на то, почему я получаю ошибки во второй функции.
Проверено, что этот OID является setable с использованием стандартной MIB-браузер (iReasoning)
Это один работает просто отлично. Вам просто нужно положить строку new sys contact value
в функцию, и это хорошо.
def SNMP_SET_SYSCONTACT(syscontact):
errorIndication, errorStatus, errorIndex, varBinds = cmdGen.setCmd(
cmdgen.CommunityData('private'),
cmdgen.UdpTransportTarget(('10.101.0.221', 161)),(cmdgen.MibVariable('.1.3.6.1.2.1.1.4.0'), syscontact),
lookupNames=False,
lookupValues=True)
Это не работает вообще.
def SNMP_SET_IFALIAS(ifAlias):
errorIndication, errorStatus, errorIndex, varBinds = cmdGen.setCmd(
cmdgen.CommunityData('private'),
cmdgen.UdpTransportTarget(('10.101.0.221', 161)),(cmdgen.MibVariable('1.3.6.1.2.1.31.1.1.1.18.1'), ifAlias),
lookupValues=False,
lookupNames=False)
Ошибка я получаю Спинка:
Traceback (most recent call last):
File "<pyshell#632>", line 1, in <module>
SNMP_SET_IFALIAS('Check this out')
File "<pyshell#629>", line 2, in SNMP_SET_IFALIAS
errorIndication, errorStatus, errorIndex, varBinds = cmdGen.setCmd(cmdgen.CommunityData('private'),cmdgen.UdpTransportTarget(('10.101.0.221', 161)),(cmdgen.MibVariable('1.3.6.1.2.1.31.1.1.1.18.1'), ifAlias),lookupValues=False, lookupNames=False)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pysnmp/entity/rfc3413/oneliner/cmdgen.py", line 452, in setCmd
kwargs.get('contextName', null)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pysnmp/entity/rfc3413/oneliner/cmdgen.py", line 314, in setCmd
self.makeVarBinds(varBinds),
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pysnmp/entity/rfc3413/oneliner/cmdgen.py", line 212, in makeVarBinds
varVal = varName.getMibNode().getSyntax().clone(varVal)
AttributeError: 'MibIdentifier' object has no attribute ‘getSyntax'
Я рад предоставить дополнительную информацию, если это необходимо.
еще два коротких вопроса
1) Я попытался захватить последнюю pysnmp 4.2.6.2, но я получаю заблокирован по установке со следующей ошибкой
Не удалось найти версия, которая удовлетворяет требованию pyasn1> = 0.1.8
(из pysnmp) (из версий: 0.0.9a0, 0.0.10a0, 0.0.11a0, 0.0.12a0,
0.0.13a0, 0.0.13b0, 0.0. 13, 0,1,1 , 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7) Нет Распределение соответствия не найдено для pyasn1> = 0.1.8 (от pysnmp)
2) Я неправильно понимаю lookupValues = False & lookupNames = False kwargs выше? Я думал, что это должно было позволить мне напрямую обращаться к OID, не импортируя MIB. Я хотел бы избежать любых зависимостей, если это возможно.
Спасибо за указатели! Еще два вопроса – netmanchris