mercoledì, Febbraio 1, 2023

Cisco: show log con il Python

Gianluca Linihttp://www.gianlucalini.it
Technology Enthusiast. I'm a System Engineer and sometimes an independent Security Researcher. IEEE member.

Supponiamo di avere un router configurato per accettare il login via telnet utilizzando, per semplicità, al posto del radius il database utenti locale, come nella configurazione sottoriportata:

service timestamps log datetime
!
aaa new-model
aaa authentication login Python-Telnet local
!
username pippo password 7 105E00091518
!
line vty 0 4
login authentication Python-Telnet
!
end

Ed ecco un semplice script in Python che si collega al nostro router, lo interroga per vedere i log, chiude la connessione e stampa il risultato:

import telnetlib

username = "pippo"
password = "pippo"
router = "10.10.10.254"

tn = telnetlib.Telnet(router) # Inizializzo il telnet

tn.read_until("Username: ") # Attendo il prompt Username: inviatomi dal router
tn.write(username + "\r\n")
if password:
tn.read_until("Password: ")
tn.write(password + "\r\n")
tn.write("terminal length 0" + "\r\n") # terminal length impostato a 0 per non avere interruzioni
tn.write("sh log"+ "\r\n") # Mostrami i log please...
tn.write("q" + "\r\n") # Chiudo
log = tn.read_all()
tn.close() # Chiudo il telnet
print log

Ovviamente il bello è che usando altri strumenti messi a disposizione di Python, come le regex, si possono fare cose molto più interessanti.

Articoli correlati

Conosciamo LAB4INT, l’associazione per approfondire le Scienze Forensi ed Investigative

AreaNetworking.it ha intervistato LAB4INT Aps, associazione culturale senza scopo di lucro che svolge attività di studio, formazione, prevenzione e intervento in ambito investigativo, giuridico,...

Digital Transformation


 

Noleggia una Tesla per il tuo evento ICT!

Categorie