IPAM
unknown
python
7 months ago
3.6 kB
0
Indexable
Never
def csvExporter(IPList1,IPList2, IPList3, IPList4, IPList5): IPList1.insert(0, 'Router 1:') IPList2.insert(0,'Router 2:') IPList3.insert(0, 'Router 3:') IPList4.insert(0, 'Router 4:') IPList5.insert(0, 'Router 5:') columnas = ['Dispositivo', 'Direcciones IP encontradas'] with open("./ArchivosIPAM/DireccionesIPAM.csv", mode='w') as archivo: escritor_archivo = csv.writer(archivo, delimiter=',') escritor_archivo.writerow(columnas) escritor_archivo.writerow(IPList1) escritor_archivo.writerow(IPList2) escritor_archivo.writerow(IPList3) escritor_archivo.writerow(IPList4) escritor_archivo.writerow(IPList5) print("\n[*] Informacion exportada a csv con exito!") def pdfExporter(router1, router2, router3, router4, router5): pdf = FPDF() pdf.add_page() pdf.set_font("Arial", size = 15) pdf.cell(200, 10, txt = "Direcciones IP encontradas", ln = 1, align = 'C') matriz = [ router1, router2, router3, router4, router5] for i in range(5): pdf.cell(0,20, txt = "Router " + str(i + 1) + ":", ln = 1) for x in matriz[i]: pdf.cell(200,5, txt = " " + x, ln = 1) pdf.output("./ArchivosIPAM/ReporteIPAM.pdf") print("\n[*] Informacion exportada a PDF con exito!") def ipValidator(lista): temp = [] for i in range(len(lista)): temp_checker = lista[i].split('.') if('255' in temp_checker): continue elif('0.0' in lista[i]): continue else: temp.append(lista[i]) print(" " + lista[i]) return temp def IPAM(router1, router2, router3, router4, router5): print("###################### Imprimiendo direcciones IP ########################\n") ## Aqui entramos al modo enable ######## Router 1 ######### router1.enable() configRouter1 = router1.send_command('show run') direccionesRouter1 = re.findall("(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)", configRouter1) print("Router 1: ") clean1 = ipValidator(direccionesRouter1) ######## Router 2 ######### router2.enable() configRouter2 = router2.send_command('show run') direccionesRouter2 = re.findall("(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)", configRouter2) print("Router 2: ") clean2 = ipValidator(direccionesRouter2) ####### Router 3 ########## router3.enable() configRouter3 = router3.send_command('show run') direccionesRouter3 = re.findall("(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)", configRouter3) print("Router 3: ") clean3 = ipValidator(direccionesRouter3) ####### Router 4 ########## router4.enable() configRouter4 = router4.send_command('show run') direccionesRouter4 = re.findall("(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)", configRouter4) print("Router 4: ") clean4 = ipValidator(direccionesRouter4) ###### Router 5 ########## router5.enable() configRouter5 = router5.send_command('show run') direccionesRouter5 = re.findall("(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)", configRouter5) print("Router 5: ") clean5 = ipValidator(direccionesRouter5) ## Verificamos la ruta del directorio de archivos exportados del sistema IPAM if(os.path.exists('./ArchivosIPAM') == True): bait = 1