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,你可以直接获取你想要的信息

相关内容