Код: Выделить всё
OID=.1.3.6.1.4.1.5296.1.9.1.1.1.7.115.101.99.99.97.57.27.1.41
Type=OctetString
Value=secca99
Код: Выделить всё
#!/usr/bin/env python3
from pysnmp.hlapi import *
import sys
def walk(host, oid):
for (errorIndication,
errorStatus,
errorIndex,
varBinds) in nextCmd(SnmpEngine(),
CommunityData('public'),
UdpTransportTarget((host, 161)),
ContextData(),
ObjectType(ObjectIdentity(oid))):
if errorIndication:
print(errorIndication, file=sys.stderr)
break
elif errorStatus:
print('%s at %s' % (errorStatus.prettyPrint(),
errorIndex and varBinds[int(errorIndex) - 1][0] or '?'), file=sys.stderr)
break
else:
for varBind in varBinds:
print(varBind)
walk('10.78.163.39',
'.1.3.6.1.4.1.5296.1.9.1.1.1.7.115.101.99.99.97.57.27.1.41')
Когда я запускаю программу, она показывает длинный список OID (не знаю, почему даже я даю OID листового уровня в качестве входных данных в программе) со значениями. СТРАННО.
Что пробовали
Код: Выделить всё
lexicographicMode=True
Чего я хочу
Я хочу предоставить список OID в своей программе и хочу получить их значения (значение — это ключ, который вы можете увидеть в первой строке), вот и все.
Запрос
Пожалуйста, помогите мне в программе Python сделать это с помощью pysnmp.
Подробнее здесь: https://stackoverflow.com/questions/491 ... ing-pysnmp