cisco 解析顯示指令

cisco 解析顯示指令

我想編寫一個 perl 腳本,透過 telnet 登入 cisco 交換器並解析show mac-address-table.問題是不同的開關顯示不同的欄位佈局。

WS-C3548-XL 依序顯示字段

Destination Address Address Type VLAN Destination Port

而 C2960 顯示如下

Vlan Mac Address Type Ports

有沒有辦法告訴 show 按預先定義的順序列印欄位?

答案1

使用 SNMP 輪詢設備。我認為 MIB 是相同的,但你永遠不知道 Cisco 的情況。

答案2

不,據我所知沒有。

但由於您已經在使用 perl,因此只需檢查第一行即可。從那裡開始,您知道特定字段的含義是什麼,並相應地填充您的哈希值(我希望您正在使用一個!)。這樣做的另一個優點是,將來您可以使用另一種輸出格式支援其他模型。同時仍然支援“舊”的。強大的程式設計能力。

....哦,請確保處理「地址類型」中的空格:)

答案3

您是否考慮使用 SNMP 編寫腳本 您可以執行外部 snmpget / snmpwalk 公用程式並解析輸出或使用 Net::SNMP 模組。

答案4

SNMP 是最好的。但也要記住,「include」輸出修飾符具有正規表示式功能。如果你想堅持使用 Perl-expect,你可以只獲取你想要的資訊

相關內容