CISCO-router via Telnet auslesen
Hi
ich möchte gern die Billing-Informatinen von einem CISCO-Router auslesen.
Interaktiv geht das ganz einfach mit telnet <hostname>, danach username und password. Es läuft dann ein Login-Script ab, welches die Informationen ausgibt.
Nun habe ich versucht das ganze innerhalb eines Scripts ablaufen zu lassen um es später via cron zu automatisieren.
via: echo "<username><CR><pw><CR>"|telnet <hostname>" kommt "terminated by remote host"
via: telnet <hostname> <inputfile
gehts auch nicht.
Ich nehme mal schwer an, das ganze hängt mit dem username/password zusammen und der remote Host erlaubt das nicht.
So hege ich die Hoffnung, das einer von euch das Problem schon mal hatte und auch gelöst bekommen hat. Wäre net ein Beispiel-Script zu bekommen.
Danke
-Mike
Variablen / Angaben fehlen?
Hallo Mike,
ich habe noch mal ein wenig nachgeforscht.
Möglicherweise fehlen einige Angaben, wie z.B. Terminal Typ. Zeilen, Spalten, usw.
Mit Telnet wird manchmal etwas Unfug getrieben ;)
Hier noch ein paar Links und Ideen zu diesem Thema:
http://www.dynw.com/iog/
http://cosi-nms.sourceforge.net/nwi-progs.html
Viele Grüße
Eicke
Hat nicht wirklich geholfen
Hi Eicke,
die links haben nicht wirklich weitergeholfen. Das Verwarbeiten der Logifles ist nicht das Problem. Ich kann die Dinger via telnet nicht herunterladen.
Ich verstehe auch nicht ganz wie das die Admins geloest haben. Zur Zeit sehe ich als einzigste Moeglichkeit ein C-programm zu schreiben. Aber eigentlich sollte doch UNIX eine einfache Telnet-Session automatisieren koennen.
Auch wenn hierzu ein login erforderlich ist.
- Mike
Re: CISCO-router via Telnet auslesen
Zitat:
Original geschrieben von Mattburger
So hege ich die Hoffnung, das einer von euch das Problem schon mal hatte und auch gelöst bekommen hat. Wäre net ein Beispiel-Script zu bekommen.
schon mal versucht, die anmeldedaten in die .netrc einzutragen?
ansonsten mit 'expect' einen entsprechenden dialog zusammenbauen. das sieht dann ungefähr so aus:
#!/usr/bin/expect -f
set username "bla"
set passwd "fasel"
spawn telnet "host"
expect {
"ogin:" { send "$username\r"; exp_continue }
"ssword:" { send "$passwd\r" }
}
oder das perl-modul Net::Telnet verwenden.
-j
-j