Perl Tipp für telnet Fernsteuerung
Hallo, mir schwebt folgendes vor: Ein entferntes Gerät das über eine Telnet-Umgebung verfügt (so richtig mit Menüs und so - leider aber auf keine vernünftige andere Weise angesprochen werden kann) per (z.B. Perl-) Skript zu steuern. Kann mir bitte jemand einen Tipp geben, wie man sowas am dümmsten anstellt? Grüße Robert
Am Dienstag, 29. April 2003 09:05 schrieb Robert Schott:
Hallo,
mir schwebt folgendes vor: Ein entferntes Gerät das über eine Telnet-Umgebung verfügt (so richtig mit Menüs und so - leider aber auf keine vernünftige andere Weise angesprochen werden kann) per (z.B. Perl-) Skript zu steuern.
Kann mir bitte jemand einen Tipp geben, wie man sowas am dümmsten anstellt?
Grüße
Robert
Kommt drauf an, wie die Menüs gestrickt sind. Wenn sie über die Standardein- und Ausgabe laufen, kannst Du - wenn das geht - auf dem remote ein script ablaufen lassen, das sie bedient. Wenn Du aber dort nix eigenes starten kannst und nur telnet drauf ist, sehe ich ziemlich schwarz. Grüße -- Joerg Thuemmler sysadmin@vordruckleitverlag.de
On Tuesday 29 April 2003 09:33, Joerg Thuemmler wrote:
mir schwebt folgendes vor: Ein entferntes Gerät das über eine Telnet-Umgebung verfügt (so richtig mit Menüs und so - leider aber auf keine vernünftige andere Weise angesprochen werden kann) per (z.B. Perl-) Skript zu steuern.
Kommt drauf an, wie die Menüs gestrickt sind. Wenn sie über die Standardein- und Ausgabe laufen, kannst Du - wenn das geht - auf dem remote ein script ablaufen lassen, das sie bedient. Wenn Du aber dort nix eigenes starten kannst und nur telnet drauf ist, sehe ich ziemlich schwarz.
Also schwarz. Es ist zum Heulen. Es geht konkret um einen Hardware Router. Man startet erst mal die Telnet Session dann frägt der Heini nach dem Passwort - Eingabe bestätigt mit Enter - dann ist man im Hauptmenü - 24 und Enter System-Maintainance usw. Gibts denn keine Möglichkeit so einen Dialog per Skript von einer anderen Kiste aus zu bedienen. Kann mir das fast nicht vorstellen. Hat denn das wirklich noch keiner von Euch schon mal sowas gezimmert? Robert
On Tue, 2003-04-29 at 10:24, Robert Schott wrote:
Es geht konkret um einen Hardware Router. Man startet erst mal die Telnet Session dann frägt der Heini nach dem Passwort - Eingabe bestätigt mit Enter - dann ist man im Hauptmenü - 24 und Enter System-Maintainance usw.
Gibts denn keine Möglichkeit so einen Dialog per Skript von einer anderen Kiste aus zu bedienen. Kann mir das fast nicht vorstellen. Hat denn das wirklich noch keiner von Euch schon mal sowas gezimmert?
Selbst gemacht habe ich das noch nicht, theoretisch sollte es aber möglich sein. Im Schlimmsten Falle müßtest Du mit TCP-Dump mal nachsehen, was da eigentlich passiert, wenn Du die Menüs bedienst. Dürfte aber ein wenig aufwendig sein. V.
On Tuesday 29 April 2003 10:29, Volker Kroll wrote:
Selbst gemacht habe ich das noch nicht, theoretisch sollte es aber möglich sein. Im Schlimmsten Falle müßtest Du mit TCP-Dump mal nachsehen, was da eigentlich passiert, wenn Du die Menüs bedienst. Dürfte aber ein wenig aufwendig sein.
Danke Ronald für Deine PM.
... Meinst Du, dass Du eine Telnetverbindung brauchst, die dann einen Script ausfuhert?
Schau Dir mal Expect an, das ist eine automatische Telnetverbindung. Braucht man gar nicht einmal programmieren, weil autoexpect eine handische Verbindung aufzeichnet, die Du dann aenderst!
Genau das ist es. Ich hab auf meiner SuSE gefahndet und bin dabei auf Perl-Expect gestoßen. Vermutlich genau die Sorte von Util was ich dafür brauche. Besten Dank alle zusammen. Robert
Hi Robert, From: "Robert Schott" <rs@roottec.com>
On Tuesday 29 April 2003 09:33, Joerg Thuemmler wrote:
[...]
Kommt drauf an, wie die Menüs gestrickt sind. Wenn sie über die Standardein- und Ausgabe laufen, kannst Du - wenn das geht - auf dem remote ein script ablaufen lassen, das sie bedient. Wenn Du aber dort nix eigenes starten kannst und nur telnet drauf ist, sehe ich ziemlich schwarz.
Also schwarz. Es ist zum Heulen.
Es geht konkret um einen Hardware Router. Man startet erst mal die Telnet Session dann frägt der Heini nach dem Passwort - Eingabe bestätigt mit Enter - dann ist man im Hauptmenü - 24 und Enter System-Maintainance usw.
Gibts denn keine Möglichkeit so einen Dialog per Skript von einer anderen Kiste aus zu bedienen. Kann mir das fast nicht vorstellen. Hat denn das wirklich noch keiner von Euch schon mal sowas gezimmert?
Ein automatischen Login über telnet mit perl ist einfach, jetzt wo ich weiß das es um einen Router geht, ist meine Idee mit ssh wohl vor'n A..... ;( Wir haben auch einen solchen Router mit Telnet & UI: Mit ngrep habe ich mal eben geguckt was der so sendet .... ---------schnipp ------------------- U 193.1.1.12:514 -> 193.1.1.10:514 <133>TELNET-65 TERMINATE s=193.1.1.6,2432 d=193.1.1.12,23 ## ------------------------------------ So sieht z.B. das Verlassen auf unseren Router aus ... Kannst Du das alles deuten? Oder hast Du da eine Dechiffrierung für? Ohne das wird's nicht einfach ... Ciao Andre
----- Original Message ----- From: "Joerg Thuemmler" <listen@vordruckleitverlag.de> To: <suse-linux@suse.com> Sent: Tuesday, April 29, 2003 9:33 AM Subject: Re: Perl Tipp für telnet Fernsteuerung Am Dienstag, 29. April 2003 09:05 schrieb Robert Schott:
Hallo,
mir schwebt folgendes vor: Ein entferntes Gerät das über eine Telnet-Umgebung verfügt (so richtig mit Menüs und so - leider aber auf keine vernünftige andere Weise angesprochen werden kann) per (z.B. Perl-) Skript zu steuern.
Kann mir bitte jemand einen Tipp geben, wie man sowas am dümmsten anstellt?
Grüße
Robert
Kommt drauf an, wie die Menüs gestrickt sind. Wenn sie über die Standardein- und Ausgabe laufen, kannst Du - wenn das geht - auf dem remote ein script ablaufen lassen, das sie bedient. Wenn Du aber dort nix eigenes starten kannst und nur telnet drauf ist, sehe ich ziemlich schwarz.
Ich habe mal auf der Cisco-Homepage ein Shell-Script gefunden, was sowas macht, geht bestimmt auch auf diesem Router. #!/bin/bash ########################################### # Router's IP address # IP_ADDRESS='10.200.40.53' # Directory where the log files will be stored # DIR=/var/log/router ######################################## if [ ! -e $DIR ] then mkdir $DIR fi # Tag specification: mmddhhmm DATE=`date +'%m%d'` TIME=`date +'%H%M'` TAG=$DATE$TIME # Collect data from the router (echo "foo";\ echo "bar";\ echo "term len 0";\ echo "show version";\ echo "show processes cpu";\ echo "term len 15";\ echo "show memory summary";\ echo "q";\ sleep 30)|telnet $IP_ADDRESS > $DIR/info.$TAG 2>$DIR/info.$TAG.msg die Eingaben sind genauso, wie du sie eingibst, wenn du das von Hand machst. Am Ende eines jeden echo wird automatisch ein Ersatz für die Eingabetaste ausgegeben. in diesem Beispiel ist "foo" der Benutzername und "bar" das Passwort. Den resst musst du natürlich durch deine eigenen Befehle ersetzen. Mfg, Thomas
Hi, From: "Robert Schott" <rs@roottec.com>
mir schwebt folgendes vor: Ein entferntes Gerät das über eine Telnet-Umgebung verfügt (so richtig mit Menüs und so - leider aber auf keine vernünftige andere Weise angesprochen werden kann) per (z.B. Perl-) Skript zu steuern.
Es gibt im CPAN diverse Module womit Du das amchen kannst. Ich empfehle jedenfalls das ganz über SSH zu machen. ist einfach besser !
Kann mir bitte jemand einen Tipp geben, wie man sowas am dümmsten anstellt?
www.perldoc.com, da gibt's eine Menge Info über die Module. Oder suche doch einfach auf search.cpan.org... Ciao andre
Robert Schott wrote:
Kann mir bitte jemand einen Tipp geben, wie man sowas am dümmsten anstellt?
CPAN browsen, Net::Telnet finden. da geht bestimmt was mit. Peter -- Falls dir meine Antwort nicht passt -> hast du http://www.lugbz.org/documents/smart-questions_de.html gelesen und befolgt?
participants (6)
-
Andre Heine
-
Joerg Thuemmler
-
Peter Wiersig
-
Robert Schott
-
Thomas Gräber
-
Volker Kroll