BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- [SHELL] Telnet Befehle übergeben (http://www.black-board.net/thread.php?threadid=19264)


Geschrieben von Rudolf am 28.11.2004 um 15:10:

  [SHELL] Telnet Befehle übergeben

Wie kann ich telnet unter Linux so einrichten, dass er beim Start "z.b. telnet host 25" nach einem Conntect ehlo ausführt? Dass es beim Starten des Scripts dann folgendermaßen aussieht.

code:
1:
2:
3:
4:
5:
6:
7:
exs@tux:~$ telnet localhost 25
Trying 127.0.0.1...
Connected to exs.
Escape character is '^]'.
220 exs ESMTP Exim 4.34 Sun, 28 Nov 2004 15:09:33 +0100
ehlo
501 Syntactically invalid EHLO argument(s)


Nur so als Beispiel.



Geschrieben von Black Star am 28.11.2004 um 17:14:

 

man telnet Augenzwinkern

Habs zwar nicht probiert, aber

telnet open localhost 25 send ehlo

sollte gehen.



Geschrieben von Rudolf am 28.11.2004 um 17:35:

 

Zitat:
Original von Black Star
man telnet Augenzwinkern

Habs zwar nicht probiert, aber

telnet open localhost 25 send ehlo

sollte gehen.

Geht bei einer offenen Verbindung zu telnet. Da geht nichts über Paramenterübergabe. Hoffe aber, dass ich mich irre.



Geschrieben von Black Star am 28.11.2004 um 18:27:

 

Achso,

Mmmh - so eine Funktion scheints nicht zu geben.
Wenns immer das gleiche ist, kannst du ein kleines PERL-script schreiben.

quick&dirty gehts so:

open TELNET, "| telnet localhost 25";
print TELNET "ehlo\n";
close TELNET;

Du kannst natuerlich auch mit dem Net::Telnet Modul arbeiten.

EDIT: sry - so gehts nicht - brauchst doch das Net::Telnet Modul:

use Net::Telnet;
$telnet = new Net::Telnet ( Timeout=>10,
Errmode=>'die'
Prompt => '/\$ $/i');
$telnet->open('camel.perlfect.com');
$telnet->login('bilbo', 'baggins');
print $telnet->cmd('who');


alles weitere sollte in `perldoc Net::Telnet' stehen


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH