как на Python 3 выполнить SNMP запрос? Какую библиотеку использовать, чтобы была менее громоздкая?
Как можно упростить или какую библиотеку использовать? Я пытался делать SNMP запрос так:
import pysnmp
from pysnmp.entity.rfc3413.oneliner import cmdgen
from pysnmp.proto.rfc1902 import Integer, IpAddress, OctetString
from pysnmp.hlapi import *
from ipaddress import *
def get_name(comm, ip, oid):
return (getCmd(SnmpEngine(),
CommunityData(commun),
UdpTransportTarget((ip, 161)),
ContextData(),
ObjectType(ObjectIdentity(oid))))
#
def snmp_get_text(comm, ip, oid):
errorIndication, errorStatus, errorIndex, varBinds = next(get_name(commun, ip, oid))
for name, val in varBinds:
return ( val.prettyPrint())
sys_name = (snmp_get_text(commun, ip ,oid))
Получается слишком громоздко, учитывая, что с помощью утилиты SnmpWalk.exe или в Линуксе можно в одну строку выполнить такой запрос.