Я установил PySNMP (версия 4.4.6) и пытаюсь вызвать следующую функцию (часть более крупного класса):
def walk(self):
#Walks OID to scavenge for information.
oids={}
for (errorIndication,
errorStatus,
errorIndex,
varBinds) in nextCmd(SnmpEngine(),
CommunityData(self.cs),
UdpTransportTarget((self.device.split(".")[0], 161), timeout=60, retries=0),
ContextData(),
ObjectType(ObjectIdentity("1.3.6.1.4.1.14179.1.2.5.5"))):
print((errorIndication,
errorStatus,
errorIndex,
varBinds))
и неоднократно получаю следующий вывод:
(RequestTimedOut('No SNMP response received before timeout',),
Я провел тройную проверку, чтобы убедиться в правильности строки моего сообщества, версии SNMP, имени устройства, порта и OID.Я изменил переменную тайм-аута транспорта 60 секунд без удачи.Сначала я подумал, что это может быть проблема с брандмауэром, но затем я попытался запустить простой пример, включенный в документацию:
from pysnmp.hlapi import *
g = getCmd(SnmpEngine(),
CommunityData('public'),
UdpTransportTarget(('demo.snmplabs.com', 161)),
ContextData(),
ObjectType(ObjectIdentity('SNMPv2-MIB', 'sysDescr', 0)))
print(next(g))
и получить точно такой же вывод.Кто-нибудь знает, что может быть причиной этого?К сожалению, я на сервере с несколькими правами администратора, поэтому я не могу копаться в файлах модуля, меняя что-либо.Заранее спасибо за помощь!