如何从Cisco交换机使用SNMPv3提取每个VLAN的MAC地址?

时间:2019-07-16 22:36:51

标签: snmp cisco pysnmp vlan

我想提取交换机知道的所有MAC地址。我在SNMPv2中找到了

此命令从linux终端成功执行

snmpwalk -v2c  -c SNMPCommunity@10 10.10.10.10 .1.3.6.1.2.1.17.4.3.1.1

此命令需要插入“ @ 10”,但我不知道在哪里。

snmpwalk -v3  -l authPriv -u username -a SHA -A authpriv  -x DES -X authkey 10.10.10.10 .1.3.6.1.2.1.17.4.3.1.1

以上命令仅从VLAN1中提取MAC地址。我尝试使用username @ 10-但后来我得到了错误的用户名

大图。我正在尝试使用pysnmp用python脚本拉它们。除了最后一部分,我一切正常。

1 个答案:

答案 0 :(得分:0)

要使用非默认SNMP上下文名称获取pysnmp,只需将ContextName对象形式的上下文名称作为contextData参数传递给nextCmd()

from pysnmp.hlapi import *

errorIndication, errorStatus, errorIndex, varBinds = next(
    getCmd(SnmpEngine(),
           UsmUserData('usr-md5-des', 'authkey1', 'privkey1'),
           UdpTransportTarget(('demo.snmplabs.com', 161)),
           ContextData(contextName='vlan-10'),
           ObjectType(ObjectIdentity('1.3.6.1.2.1.17.4.3.1.1')))
)