snmp獲取交換機端口和對應ip


轉自:https://blog.csdn.net/nickkwan/article/details/5535685

通過snmp獲取IP地址對應的二層交換機端口的過程。

環境描述:

核心交換機:兩台Cisco 6509 + FWSM 通過HSRP熱備,核心交換機IP分別為192.168.8.1和192.168.8.2

二層交換機:Cisco 3560 PoE 每台3560通過兩條光纖分別上聯到兩台6509,交換機管理IP為192.168.8.214

命令行操作系統:Linux AS4

snmp工具:net-snmp

查詢條件:設要查詢的IP地址為192.168.100.8/32

1、首先要獲得目的IP地址對應的MAC地址,該步驟分為以下子步驟:

1.1 獲得目標IP網段的ipAdEntIfIndex值(參考:http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=.1.3.6.1.2.1.4.20.1.2&translate=Translate&submitValue=SUBMIT&submitClicked=true)

 

snmpwalk -c public -v 2c 192.168.8.1 .1.3.6.1.2.1.4.20.1.2 -On

 

在輸出中有:

.1.3.6.1.2.1.4.20.1.2.192.168.100.229 = INTEGER: 166

表示192.168.100網段對應的ipAdEntIfIndex值為166

 

1.2 根據ipAdEntIfIndex查詢目標IP所屬的ifName即VLan ID(參考:http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=.1.3.6.1.2.1.31.1.1.1.1+&translate=Translate&submitValue=SUBMIT&submitClicked=true)

 

snmpwalk -c public -v 2c 192.168.8.1 .1.3.6.1.2.1.31.1.1.1.1 -On

 

在輸出中有:

.1.3.6.1.2.1.31.1.1.1.1.166 = STRING: Vl11

表示ipAdEntIfIndex值為166的端口的ifName為Vl11,即VLan ID為11

 

 

 

1.3 根據ipAdEntIfIndex和目的IP地址查詢獲得目的IP地址的MAC(參考:http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=1.3.6.1.2.1.3.1.1.2&translate=Translate&submitValue=SUBMIT&submitClicked=true)

 

snmpwalk -c public -v 2c 192.168.8.1 .1.3.6.1.2.1.3.1.1.2.166.1.192.168.100.8 -On

 

在輸出中有:

.1.3.6.1.2.1.3.1.1.2.166.1.192.168.100.8 = Hex-STRING: 00 11 BC 69 94 00

 

由此,獲得目的IP地址的MAC地址:192.168.100.8 -> 00 11 BC 69 94 00

 

2、根據MAC地址獲得三層交換機的物理端口號

2.1 根據MAC查詢dot1dTpFdbPort(參考:http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=.1.3.6.1.2.1.17.4.3.1.2&translate=Translate&submitValue=SUBMIT&submitClicked=true)

 

snmpwalk -c public@11 -v 2c 192.168.8.1 .1.3.6.1.2.1.17.4.3.1.2.0.21.96.180.229.94 -On

 

在輸出中有:

.1.3.6.1.2.1.17.4.3.1.2.0.21.96.180.229.94 = INTEGER: 407

即dot1dTpFdbPort值為407

命令行中的參數@11表示要查詢的VLan ID為11,0.21.96.180.229.94 為目標IP的MAC地址各段轉換為十進制的值

如果此步查出的值大於1000(本例環境中為1000),則表明該MAC地址是由PO從接口由另一台6509學到,需要修改查詢參數再次查詢

例如:

.1.3.6.1.2.1.17.4.3.1.2.0.21.96.180.229.94 = INTEGER: 1666

則修改查詢為


snmpwalk -c public@11 -v 2c 192.168.8.2 .1.3.6.1.2.1.17.4.3.1.2.0.21.96.180.229.94 -On

 

本命令行查詢結果影響到后邊的查詢,務必查詢正確

 

 

2.2 根據dot1dTpFdbPort的值查詢dot1dBasePortIfIndex的值(參考:http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=.1.3.6.1.2.1.17.1.4.1.2&translate=Translate&submitValue=SUBMIT&submitClicked=true)

 

 

snmpwalk -c public@11 -v 2c 192.168.8.1 .1.3.6.1.2.1.17.1.4.1.2.407 -On

 

 

在輸出中有:

.1.3.6.1.2.1.17.1.4.1.2.407 = INTEGER: 85

即dot1dBasePortIfIndex的值為85

 

 

 

 

 

2.3 根據dot1dBasePortIfIndex查詢ifName的值(參考:http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=.1.3.6.1.2.1.31.1.1.1.1&translate=Translate&submitValue=SUBMIT&submitClicked=true)

 

snmpwalk -c public@11 -v 2c 192.168.8.1 .1.3.6.1.2.1.31.1.1.1.1.85 -On

 

 

在輸出中有:

.1.3.6.1.2.1.31.1.1.1.1.85 = STRING: Gi4/23

即ifName的值為Gi4/23,也就是三層交換機上的Gi4/23口

 

 

 

 

 

3、根據三層交換機的接口信息查詢與之互連的二層交換機的IP

3.1 根據dot1dBasePortIfIndex查詢cdpCacheAddress的值(參考:http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=.1.3.6.1.4.1.9.9.23.1.2.1.1.4&translate=Translate&submitValue=SUBMIT&submitClicked=true)

 

snmpwalk -c public -v 2c 192.168.8.1 .1.3.6.1.4.1.9.9.23.1.2.1.1.4.85 -On

 

在輸出中有:

.1.3.6.1.4.1.9.9.23.1.2.1.1.4.85.366 = Hex-STRING: C0 A8 08 D6

即cdpCacheAddress的值為C0 A8 08 D6,轉換為十進制就是192.168.8.214,此即為二層交換機的管理IP地址

 

 

3.2 根據目的IP的MAC地址查詢對應的二層交換機物理接口號

 

snmpwalk -c public@11 -v 2c 192.168.8.214 .1.3.6.1.2.1.17.4.3.1.2.0.21.96.180.229.94 -On

 

.1.3.6.1.2.1.17.4.3.1.2.0.21.96.180.229.94 = INTEGER: 16

 

snmpwalk -c public@11 -v 2c 192.168.8.214 .1.3.6.1.2.1.17.1.4.1.2.16 -On

 

.1.3.6.1.2.1.17.1.4.1.2.16 = INTEGER: 10014

 

snmpwalk -c public@11 -v 2c 192.168.8.214 .1.3.6.1.2.1.31.1.1.1.1.10014


.1.3.6.1.2.1.31.1.1.1.1.10014 = STRING: Fa0/14

 

由此可得目的IP對應的二層交換機物理端口號為Fa0/14

最終,根據目的IP地址,獲得了其所在的二層交換機管理IP為192.168.8.214,端口號為Fa0/14
————————————————
版權聲明:本文為CSDN博主「nickkwan」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/nickkwan/article/details/5535685


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM