giovedì, Marzo 19, 2026

Cisco: show log con il Python

Gianluca Lini
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

Il Club Nazionale Cyberprotection annuncia i corsi di formazione.

Partecipa al sondaggio per definire un calendario formativo personalizzato Il Club Nazionale Cyberprotection potenzia la propria proposta formativa introducendo percorsi specialistici rivolti ai professionisti, con...

Noleggia una Tesla per il tuo evento ICT!

Categorie