如何用不带auth no prv的python获取SNMPv3? 我试着用金龟子做这件事,但不起作用. 设备:交换机Cisco 2960
from pysnmp.hlapi import UsmUserData, usmHMACSHAAuthProtocol,usmAesCfb256Protocol
from pysnmp.hlapi import SnmpEngine, UdpTransportTarget, ContextData,ObjectType, ObjectIdentity, getCmd
snmpName =username
snmpPass = password
ipHost = ipAddress
auth=UsmUserData(userName=snmpName,authKey=snmpPass,authProtocol=usmHMACSHAAuthProtocol,privKey='',privProtocol=usmAesCfb256Protocol)
data = getCmd(SnmpEngine(),auth,UdpTransportTarget((ipHost, 161)),ContextData(),ObjectType(ObjectIdentity('SNMPv2-MIB', 'sysName', 0)))
errorIndication, errorStatus, errorIndex, varBinds = next(data)
print(errorIndication, errorStatus, errorIndex, varBinds)
当try 以任何方式打印此数据时,我都会出错 错误:
>>> errorIndication, errorStatus, errorIndex, varBinds = next(data)
Traceback (most recent call last):
File "/home/alchimie/Documents/django/venv/lib/python3.10/site-packages/pysnmp/smi/builder.py", line 401, in loadModules
self.loadModule(modName, **userCtx)
File "/home/alchimie/Documents/django/venv/lib/python3.10/site-packages/pysnmp/smi/builder.py", line 377, in loadModule
raise error.MibNotFoundError(
pysnmp.smi.error.MibNotFoundError: MIB file "IF-MIB.py[co]" not found in search path (DirMibSource('/home/alchimie/Documents/django/venv/lib/python3.10/site-packages/pysnmp/smi/mibs'), DirMibSource('/home/alchimie/Documents/django/venv/lib/python3.10/site-packages/pysnmp/smi/mibs/instances'), DirMibSource('pysnmp_mibs'), DirMibSource('/home/alchimie/.pysnmp/mibs'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/alchimie/Documents/django/venv/lib/python3.10/site-packages/pysnmp/hlapi/asyncore/sync/cmdgen.py", line 108, in getCmd
cmdgen.getCmd(snmpEngine, authData, transportTarget,
File "/home/alchimie/Documents/django/venv/lib/python3.10/site-packages/pysnmp/hlapi/asyncore/cmdgen.py", line 130, in getCmd
vbProcessor.makeVarBinds(snmpEngine, varBinds), __cbFun,
File "/home/alchimie/Documents/django/venv/lib/python3.10/site-packages/pysnmp/hlapi/varbinds.py", line 39, in makeVarBinds
__varBinds.append(varBind.resolveWithMib(mibViewController, ignoreErrors=False))
File "/home/alchimie/Documents/django/venv/lib/python3.10/site-packages/pysnmp/smi/rfc1902.py", line 853, in resolveWithMib
self.__args[0].resolveWithMib(mibViewController)
File "/home/alchimie/Documents/django/venv/lib/python3.10/site-packages/pysnmp/smi/rfc1902.py", line 480, in resolveWithMib
mibNode, = mibViewController.mibBuilder.importSymbols(
File "/home/alchimie/Documents/django/venv/lib/python3.10/site-packages/pysnmp/smi/builder.py", line 441, in importSymbols
self.loadModules(modName, **userCtx)
File "/home/alchimie/Documents/django/venv/lib/python3.10/site-packages/pysnmp/smi/builder.py", line 410, in loadModules
raise error.MibNotFoundError('%s compilation error(s): %s' % (modName, errs))
pysnmp.smi.error.MibNotFoundError: IF-MIB compilation error(s): missingcaused by <class 'pysnmp.smi.error.MibNotFoundError'>: MIB file "IF-MIB.py[co]" not found in search path (DirMibSource('/home/alchimie/Documents/django/venv/lib/python3.10/site-packages/pysnmp/smi/mibs'), DirMibSource('/home/alchimie/Documents/django/venv/lib/python3.10/site-packages/pysnmp/smi/mibs/instances'), DirMibSource('pysnmp_mibs'), DirMibSource('/home/alchimie/.pysnmp/mibs'))