Comando de exibição de análise do Cisco

Comando de exibição de análise do Cisco

Quero escrever um script perl que faça login em switches Cisco via telnet e analise a saída do arquivo show mac-address-table. O problema é que opções diferentes me mostram um layout de campo diferente.

O WS-C3548-XL mostra os campos na ordem

Destination Address Address Type VLAN Destination Port

enquanto o C2960 mostra como

Vlan Mac Address Type Ports

existe uma maneira de dizer ao show para imprimir os campos em uma ordem predefinida?

Responder1

Pesquise os dispositivos usando SNMP. Eu pensaria que os MIBs são iguais, mas nunca se sabe com a Cisco.

Responder2

Não, não que eu saiba.

Mas como você já está usando Perl, basta verificar a primeira linha. A partir daí, você sabe quais são os significados de campos específicos e preenche seu hash (espero que esteja usando um!) de acordo. Isto tem a vantagem adicional de que, no futuro, você poderá suportar outros modelos com outro formato de saída. Embora ainda apoie os "antigos". Programação robusta.

...Ah, e certifique-se de lidar com o espaço em "Tipo de endereço" :)

Responder3

Você já pensou em criar scripts usando SNMP? Você pode executar utilitários snmpget/snmpwalk externos e analisar a saída ou usar o módulo Net::SNMP.

Responder4

SNMP seria melhor. Mas lembre-se também de que o modificador de saída "include" é compatível com regex. Você pode simplesmente pegar as informações que deseja se quiser continuar com o Perl-expect

informação relacionada