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