基于SNMP的cisco网络环境中设备定位(原创)

基于SNMPcisco网络环境中设备定位

背景知识:

    1.三层设备的arp表存储IP和MAC的对应关系。

               2.二层设备的转发桥接表中存储MAC和转发端口对应关系。

               3.CDP(Cisco Discovery Protocol)是思科设备之间发现相邻设备的链路层协议。

               4.三层交换机的二层模块中的转发表以cam表实现,如 show cam dynamic

5.在划分VLAN 的情况下,思科设备上转发表内容要根据Community String Indexing 方法获取。

1.根据IP地址得到所对应的MAC地址:

通过查看系统的ARP缓存表可以找出某IP所对应的MAC,查找ipNetToMediaPhyAddress(OID: 1.3.6.1.2.1.4.22.1),可以得到如下结果,例:
OID: 1.3.6.1.2.1.4.22.1.2.8.127.0.0.2  type: snmp.SNMPOctetString  value:   (hex: 00 06 28 67 05 00 )

 

OID: 1.3.6.1.2.1.4.22.1.2.10.10.1.3.1  type: snmp.SNMPOctetString  value:   (hex: 00 02 b9 b2 4c 0a )

 

OID: 1.3.6.1.2.1.4.22.1.2.10.10.1.3.4  type: snmp.SNMPOctetString  value:   (hex: 00 08 74 9c bd a7 )

 

OID: 1.3.6.1.2.1.4.22.1.2.10.10.1.3.5  type: snmp.SNMPOctetString  value:   (hex: 00 e0 4c 10 3a d7 )

 

OID: 1.3.6.1.2.1.4.22.1.2.10.10.1.3.34  type: snmp.SNMPOctetString  value:   (hex: 00 0a e6 64 10 4b )

 

OID: 1.3.6.1.2.1.4.22.1.2.10.10.1.3.38  type: snmp.SNMPOctetString  value:   (hex: 00 e0 4c 3c 11 02 )

 

OID: 1.3.6.1.2.1.4.22.1.2.10.10.1.3.75  type: snmp.SNMPOctetString  value:   (hex: 00 50 22 88 29 f2 )

 

OID: 1.3.6.1.2.1.4.22.1.2.10.10.1.3.82  type: snmp.SNMPOctetString  value:   (hex: 00 d0 f8 0c bc b8 )

 

可以看到ipNetToMediaPhyAddress.10.10.1.3.4这样一个oid,这里紧跟在ipNetToMediaPhyAddress后面的10是指10.1.3.4的转发端口索引。这样就可以根据这一项得出10.1.3.4MAC地址是00:08:9c:bd:a7

 

 

2.查找该三层设备MIB表中的cdpCacheAddress(OID: 1.3.6.1.4.1.9.9.23.1.2.1.1.4),如下表示:

 

OID: 1.3.6.1.4.1.9.9.23.1.2.1.1.4.10.145  type: snmp.SNMPOctetString  value: c_  (hex: c0 a8 63 02 )

 

这里c0 a8 63 02 IP地址的16进制表示,转成十进制是192.168.99.2。三层设备的IP192.168.99.1。这个IP地址的表示类型可以根据cdpCacheAddressType确定。CdpCacheAddress后面的10是指ifIndex

3 查找192.168.99.2上面的桥接表。先要得到该设备上的vlan列表,查找vtpVlanIfIndex(OID: 1.3.6.1.4.1.9.9.46.1.3.1.1.18),例如:

 

OID: 1.3.6.1.4.1.9.9.46.1.3.1.1.18.1.1  type: snmp.SNMPInteger  value: 6

 

OID: 1.3.6.1.4.1.9.9.46.1.3.1.1.18.1.2  type: snmp.SNMPInteger  value: 17

 

OID: 1.3.6.1.4.1.9.9.46.1.3.1.1.18.1.3  type: snmp.SNMPInteger  value: 18

 

OID 部分最后一位是指vlan号,OID值是指IfIndex。可以从中得到该设备上的所有vlan号。

4.查找桥接转发表。查找dot1dTpFdbAddress(OID1.3.6.1.2.1.17.4.3.1.1),在这里,需要用到Community String Indexing,思科设备的转发表对每个vlan是不一样的。这时候共同体名为community@vlank号,如:public@1,public@2,public@3,默认情况下取来的是public@1地的转发表。此时需在对每个vlan的转发表进行查找,直到找到10.1.3.4mac地址,例如:

 

OID: 1.3.6.1.2.1.17.4.3.1.1.0.2.253.21.123.10  type: snmp.SNMPOctetString  value:   (hex: 00 02 fd 15 7b 0a )

 

OID: 1.3.6.1.2.1.17.4.3.1.1.0.5.59.18.64.136  type: snmp.SNMPOctetString  value:   (hex: 00 05 3b 12 40 88 )

 

OID: 1.3.6.1.2.1.17.4.3.1.1.0.5.59.18.65.215  type: snmp.SNMPOctetString  value:   (hex: 00 05 3b 12 41 d7 )

 

OID: 1.3.6.1.2.1.17.4.3.1.1.0.5.59.18.110.148  type: snmp.SNMPOctetString  value:   (hex: 00 05 3b 12 6e 94 )

 

OID: 1.3.6.1.2.1.17.4.3.1.1.0.8.116.156.189.167  type: snmp.SNMPOctetString  value:   (hex: 00 08 74 9c bd a7 )

 

跟在dot1dTpFdbAddress后面的是mac地址的十进制表示,查到mac地址所在行后,再查找dot1dTpFdbPort(OID: 1.3.6.1.2.1.17.4.3.1.2),例如:

 

OID: 1.3.6.1.2.1.17.4.3.1.2.0.2.185.178.76.10  type: snmp.SNMPInteger  value: 833

 

OID: 1.3.6.1.2.1.17.4.3.1.2.0.2.253.21.123.10  type: snmp.SNMPInteger  value: 2

 

OID: 1.3.6.1.2.1.17.4.3.1.2.0.5.59.18.64.136  type: snmp.SNMPInteger  value: 2

 

OID: 1.3.6.1.2.1.17.4.3.1.2.0.8.116.156.189.167  type: snmp.SNMPInteger  value: 2

 

这里是dot1dTpFdbPort加上由上所得到的mac地址的十进制查找到桥接端口,再根据这个端口查到其端口索引,查找dot1dBasePortIfIndex(OID:1.3.6.1.2.1.17.4.1.2),例如:

OID: 1.3.6.1.2.1.17.1.4.1.2.1  type: snmp.SNMPInteger  value: 4

 

OID: 1.3.6.1.2.1.17.1.4.1.2.2  type: snmp.SNMPInteger  value: 5

 

OID: 1.3.6.1.2.1.17.1.4.1.2.65  type: snmp.SNMPInteger  value: 11

 

OID: 1.3.6.1.2.1.17.1.4.1.2.66  type: snmp.SNMPInteger  value: 12

 

OID: 1.3.6.1.2.1.17.1.4.1.2.67  type: snmp.SNMPInteger  value: 13

 

从上面可以看出,桥接端口对应的端口索引IfIndex5。根据这个端口可以很容易得到端口名,端口描述等。

5.根据CDP得到指定端口索引下连的交换机IP

2中和方法,cdpCacheAddress加上端口索引可以得到下接的网络设备。如果没找到下端网络设备,那么下接的可能就已经是所要查的主机,也有可能是不支持CDP协议的设备,定位互此终止。如果能够得到下连设备的IP地址,那么可以根据此IP重复3以下的查找过程,直到找不到下连设备。这里还可以从cdpCacheDevicePort中得到下连设备连接该设备的端口。有利于形成完整的链接关系。
阅读更多

没有更多推荐了,返回首页