我寫了一個Perl腳本來查詢網絡上的設備(交換機),它用來在局域網上查找一個mac地址。但是,我想改善它,我的意思是,我必須給我的腳本這些參數:SNMP:如何在網絡中找到一個mac地址?
- 的@mac搜索
- 交換機的IP
- 社區
哪有我只是給IP和社區?
我知道這取決於我的網絡拓撲? 有一個主棧3-交換機(cisco 3750),並且在它連接到其他(2960)級聯之後。
任何人有想法?
編輯:我想不指定開關。 只要給@mac和社區。
我寫了一個Perl腳本來查詢網絡上的設備(交換機),它用來在局域網上查找一個mac地址。但是,我想改善它,我的意思是,我必須給我的腳本這些參數:SNMP:如何在網絡中找到一個mac地址?
哪有我只是給IP和社區?
我知道這取決於我的網絡拓撲? 有一個主棧3-交換機(cisco 3750),並且在它連接到其他(2960)級聯之後。
任何人有想法?
編輯:我想不指定開關。 只要給@mac和社區。
您必須解決兩個問題......腳本將在哪裏發送第一個查詢......然後,假設您發現通過該交換機上的端口1/2/1學習了一個mac地址,並且該端口已連接到另一個交換機。不知何故,您的腳本必須足夠聰明才能查詢連接到端口1/2/1的交換機。繼續使用相同的算法,直到您沒有切換到查詢。
您所要求的是可能的,但它需要您提前提供腳本網絡拓撲信息,或者使用CDP或LLDP動態發現它。 CDP始終攜帶鄰居的IP地址...有時,您可以從LLDP獲取該地址。 CDP和LLDP都有可以查詢的MIB對象。
基本上你需要兩個腳本。您已經有一個腳本來收集您的數據,但找到一個MAC需要很長時間。想必你有一個完整的每個交換機的列表,它的IP地址。循環遍歷所有構建CAM表的數據庫。然後,當您需要搜索MAC時,只需查詢您的預建數據庫即可。更新約一個小時左右,你應該保持相當準確的結果。您可以通過並行運行多個snmp步驟來加速查詢多個設備。
你想要什麼改進?請詳細說明。 – nIKUNJ 2011-04-22 08:53:22