PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CISCO-router via Telnet auslesen



Mattburger
05-02-2003, 09:19
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

netzmeister
06-02-2003, 09:04
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

Mattburger
06-02-2003, 10:34
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

fork
06-02-2003, 17:08
Hi,

die Konfigurationen der Router können via TFTP eingelesen + weggeschrieben werden, vielleicht geht das auch mit deinen Daten. Ansonsten können die Cisco-Router nicht auch mit Syslog-Servern zusammenarbeiten? Ansonsten ist glaube ich expect so die einfache Notlösung.

Gruß
Tobias

netzmeister
06-02-2003, 18:05
Hallo Tobias,

in diesem Falle geht es um die laufenden Transfer Daten.

Auf dem Router läuft IP-Accounting. Ein Autocommand ist auch schon
eingerichtet und funktioniert. Die Daten müssen in ziemlich kurzen
Abständen abgeholt werden, um dann später die Summen der
Trafficauswertung/Abrechnung zur Verfügung zu stellen.

Manuell per Telnet klappt das auch prima. Nur eben nicht automatisiert.

Viele Grüße

Eicke

tomes
06-02-2003, 20:12
meinem frueheren Arbeitgeber wurde das mit (netflow -falsch, ist von Cisco) siehe unten, gemacht.
Auf freshmeat gibt es einige gute Tools fuer flow/billing .
Die holen die Daten per snmp von den Cisco Kisten, rrd, und werten sie gleich aus.
Sogar graphisch zum Teil.

T;o)Mes

P.S.: Ich glaub das hier --> http://www.splintered.net/sw/flow-tools/
wurde benutzt. Hatte leider nur am Rande damit zu tun.

netzmeister
07-02-2003, 10:20
Hallo,

die tools sehe ich mir gerne an, ...

Hier mal ein Bsp-Session:



eicke@web2:~$ telnet 62.180.xxx.xxx
Trying 62.180.xxx.xxx...
Connected to 62.180.xxx.xxx
Escape character is '^]'.


User Access Verification

Username: shxxx
Password:
Source Destination Packets Bytes
192.134.0.49 62.180.126.131 7613 1212264
62.180.126.131 192.134.0.49 7720 635115
62.180.127.4 62.155.185.239 508 265348
62.155.185.239 62.180.127.4 317 15037
62.180.126.137 217.232.108.41 271 185958
217.232.108.41 62.180.126.137 302 44910
198.235.216.131 62.180.126.136 157 19703
62.180.126.136 198.235.216.131 167 12179
192.175.48.42 62.180.126.138 8518 1307823
62.180.126.138 192.175.48.42 8778 594273
198.235.216.130 62.180.126.136 183 21437
62.180.126.136 198.235.216.130 192 14342
195.38.134.25 62.180.126.131 1108 162154
62.180.126.131 195.38.134.25 1113 84620
203.37.255.97 62.180.126.138 732 73380
62.180.126.138 203.37.255.97 772 49603
62.180.126.137 80.128.105.213 743 595601
80.128.105.213 62.180.126.137 719 224593
62.180.126.139 80.136.238.91 15956 11287314
80.136.238.91 62.180.126.139 13163 3351369
62.180.126.134 209.10.153.36 191 36290
--More--


Viele Grüße

Eicke

fork
08-02-2003, 11:36
@eicke

>in diesem Falle geht es um die laufenden Transfer Daten.

Ich habe nur mal, ohne genaues Wissen in dieser Sache versucht, mit mir bekannten Techniken neue Lösungsansätze aufzuzeigen. Es hätte ja sein können das das funktioniert.

Gruß
Tobias

Jasper
10-02-2003, 12:07
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

netzmeister
10-02-2003, 13:09
Hallo Jasper,

vielen Dank, ich habe das mit dem expect Script gerade mal eben ausprobiert.
Soweit klappt das.

Jetzt fehlt mir nur noch eine Schleife, die die Ausgaben in eine Datei umlenkt.
Siehe oben: Das --- More ---- muss per Eingabe (z.B. Leertaste) bestätigt
werden, bis nichts mehr kommt...

Das bekommen wir dann hoffentlich hin.

Viele Grüße

Eicke