Não sei vocês, mas sempre que preciso ver em qual porta do switch um determinado IP está, utilizo o comando “show arp | in x.x.x.x” e na sequência, com o MAC em mãos, uso o comando “show mac ad ad xxxx.xxxx.xxxx”. Apesar de funcionar, são sempre dois comandos para ter o resultado.
Exemplo: Onde está conectado o equipamento com IP 10.10.10.11?
BrainGW01#show arp | in 10.10.10.11
Internet 10.10.10.11 58 649e.f392.8344 ARPA Vlan10
BrainGW01#show mac ad ad 649e.f392.8344
Mac Address Table
——————————————-Vlan Mac Address Type Ports
—- ———– ——– —–
10 649e.f392.8344 STATIC Gi1/0/11
Total Mac Addresses for this criterion: 1
Como sabem gosto do EEM e das possibilidades que ele nos dá. Então porque não automatizar este processo???
Como não sabia transformar isso em código TCL, permitindo a entrada interativa (o usuário é que informa o IP), pedi ajuda no Cisco Support Community, e um usuário postou a solução.
1) Coloque o seguinte script no bloco de notas e salve com a extensão .tcl (por exemplo, find.tcl).
foreach ip $::argv {
set result [exec “show arp | inc $ip”]if [regexp {[a-zA-Z]+\s+\d+\.\d+\.\d+\.\d+\s+\d+\s+([0-9a-f]+\.[0-9a-f]+\.[0-9a-f]+)\s+ARPA} $result match mac ] {
set output [exec “show mac address-table address $mac”]regexp {(\d+\s+[0-9a-f]+\.[0-9a-f]+\.[0-9a-f]+\s+[A-Z]+\s+[0-9\/a-zA-Z]+)} $output match output
puts “$ip = $output”
} else {
puts “$ip not in arp table”}}
2) Salve este arquivo na flash do switch utilizando o tftp.
BrainGW01#copy tftp://seuip/find.tcl flash:find.tcl
3) Execute o script para encontrar o IP.
BrainGW01#tclsh flash:find.tcl 10.10.10.11
10.10.10.11 = 10 649e.f392.8344 STATIC Gi1/0/11BrainGW01#
Demais não??
Até a próxima.
Perfeito !
Excelente!!! Script.
Tks.