Napalm | Obtener version software de IOS dada una lista de multiples dispositivos

Este script funciona fenomenal si necesitais obtener la version IOS dada una lista de IPs/Hosts de Routers/Switches Cisco IOS de una forma automatizada.

Tener en cuenta que necesitaremos un archivo de "hosts"  donde especificaremos las IPs o Hostnames de los routers o switches Cisco a conectarnos.

 SCRIPT

1) Archivo de Hosts (marcado en amarillo en el script)

192.168.1.10

192.168.1.20

192.168.1.30

2) Script

import napalm
import json

f = open ("/home/angel/scripts/hosts")

for line in f:
    host = line.strip()
    driver = napalm.get_network_driver('ios')
    device = driver(hostname=host, username='ssh_user', password='ssh_password')
    device.open()
    getfacts = device.get_facts()
    os_version = getfacts["os_version"]
    os_version_split = os_version.split(',')[1].lstrip()
    os_version_sliced = os_version_split[8:]
    print (os_version_sliced)
    device.close()

 RESULTADO (OUTPUT)

15.0(2)SE2
12.2(55)SE7
15.2(4)M5

 

Comentarios

Entradas populares de este blog

EVE-NG: Instalación de EVE-NG

Fortigate: Capturar paquetes (Packet capture/sniffer)

Cisco ISE | Certificados SSL públicos para Guest Portal