我正在尝试执行snmpwalk
以获取设备每个接口上的错误数量(通过 DNS 名称)。
snmpwalk
我可以从 Debian机器上成功运行以下命令:
snmpwalk -v2c -c public atlanta-r1 1.3.6.1.2.1.2.2.1.14
结果:
IF-MIB::ifInErrors.1 = Counter32: 0<br>
IF-MIB::ifInErrors.2 = Counter32: 0<br>
IF-MIB::ifInErrors.3 = Counter32: 0<br>
....
我正在尝试使用pysnmp
. 我在让它工作时遇到了一些麻烦。当我运行它时,我不断得到一个权限被拒绝。任何人都可以帮我解决我的代码吗?谢谢
from pysnmp.entity.rfc3413.oneliner import cmdgen
cmdGen = cmdgen.CommandGenerator()
errorIndication, errorStatus, errorIndex, varBindTable = cmdGen.nextCmd(
cmdgen.CommunityData('public'),
cmdgen.UdpTransportTarget(('atlanta-r1', 161)),
'1.3.6.1.2.1.2.2.1.14',
)
if errorIndication:
print(errorIndication)
else:
if errorStatus:
print('%s at %s' % (
errorStatus.prettyPrint(),
errorIndex and varBindTable[-1][int(errorIndex)-1] or '?'
)
)
else:
for varBindTableRow in varBindTable:
for name, val in varBindTableRow:
print('%s = %s' % (name.prettyPrint(), val.prettyPrint()))