как на 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 или в Линуксе можно в одну строку выполнить такой запрос.


Ответы (0 шт):