通过SNMP查找从Cisco Catalyst 3600连接到VLAN的客户端IP

当然,我想要使用SNMP,在Cisco Catalyst 3600中连接到VLAN的客户端IP列表。

到目前为止,我已经获得了这些IP地址的伪algorithm,但是我不确定这是否正确完成:

1)从Catalyst(oid 1.3.6.1.2.1.4.20.1.2 接收所有IP地址我得到类似于:

IP-MIB::ipAdEntIfIndex.10.10.2.1 = INTEGER: 152

IP-MIB::ipAdEntIfIndex.10.10.2.251 = INTEGER: 152

IP-MIB::ipAdEntIfIndex.10.10.3.251 = INTEGER: 151等等。

2)从上面的列表中获取特定IP地址的VLAN(oid 1.3.6.1.2.1.4.20.1.2.10.10.2.1.<IP_ADDRESS> )的ifIndex:

IP-MIB::ipAdEntIfIndex.10.10.2.1 = INTEGER: 152

IP-MIB::ipAdEntIfIndex.10.10.2.251 = INTEGER: 152

IP-MIB::ipAdEntIfIndex.10.10.3.251 = INTEGER: 151

3)获取VLAN名称(oid 1.3.6.1.4.1.9.9.46.1.3.1.1.4.1.<IF_INDEX> )If_index是从以上列表中借用的:

IP-MIB::ipAdEntNetMask.152 = No Such Instance currently exists at this OID

IP-MIB::ipAdEntNetMask.151 = No Such Instance currently exists at this OID

在第三步我有这个问题,这个实例不能在OID中find。 这很奇怪,因为我可以find他们连接的10个VLAN名称的大约四十个IP地址。 或者也许我做错了?

我pipe理也获得了新的algorithm来查找连接到VLAN的IP:

1)获取唯一标识该条目适用的接口的索引值(oid: 1.3.6.1.2.1.4.20.1.2

示例输出:

 IP-MIB::ipAdEntIfIndex.10.10.2.1 = INTEGER: 152 IP-MIB::ipAdEntIfIndex.10.10.2.251 = INTEGER: 152 IP-MIB::ipAdEntIfIndex.10.10.3.250 = INTEGER: 151 IP-MIB::ipAdEntIfIndex.10.10.3.251 = INTEGER: 151 IP-MIB::ipAdEntIfIndex.10.100.0.1 = INTEGER: 312 IP-MIB::ipAdEntIfIndex.10.100.0.251 = INTEGER: 312 

等等…

2)使用上面的索引获取Catalyst 3600上的接口名称(oid: 1.3.6.1.2.1.31.1.1.1.1.<INTERFACE_INDEX>

示例输出(对于索引= 152 ):

 IF-MIB::ifName.152 = STRING: Vl206 

3)从步骤1)中提取特定接口索引的IP地址。 例如对于索引152 ,它将是IP地址,如:

 10.10.2.1 10.10.2.251 

连接到称为Vl206的 VLAN

我希望我做得很好。