next up previous contents index
Search Next: Sockets Up: Netzwerkprotokolle Previous: POP3 und SMTP   Contents   Index

telnet

Mit der net/telnet-Bibliothek kann man sich an einem entfernten Unix-Rechner einloggen und über die Kommandozeile arbeiten. Beim interaktiven Betrieb werden normalerweise die einzelnen Tastendrücke an den entfernten Rechner übertragen und auch dessen Reaktion sofort am lokalen Bildschirm dargestellt. Das folgende Beispiel führt einen einfachen Befehl ohne weiteren Eingriff auf dem entfernten Rechner aus und zeigt das Resultat auf der Standardausgabe.

require 'net/telnet'
remote = Net::Telnet.new(
  {"Host" => "workhorse.approximity.com",
   "Timeout" => 10,
   "Prompt" => /[$%#>] \z/n})
remote.login("armin", "sagichnicht") { |c|
  print c }
remote.cmd("ls"){ |c| print c }
remote.close

Wenn der entfernte Rechner den telnet-Zugang frei geschaltet hat, könnte das Resultat so aussehen, wenn Armin versucht, von seiner Ente auf Stefans Pferd umzusteigen:

armin@duck2:~/tmp > ruby telnet.rb
Welcome to SuSE Linux 7.3 ...

workhorse login: armin
Password:
You have old mail in /var/mail/armin.
Last login: Fri Jun 29 23:01:47 from ...
Have a lot of fun...
armin@workhorse:~ > ls
Mail  ruby  dylan  squeak    public_html
...
armin@workhorse:~ >
armin@duck2:~/tmp >



(C) 2002 by dpunkt.de, Armin Roehrl, Stefan Schmiedl, Clemens Wyss 2002-01-20