»Franzosen und Russen gehört das Land,
Das Meer gehört den Briten,
Wir aber besitzen im Luftreich des Traums
Die Herrschaft unbestritten.«
– Heinrich Heine
16 Anwendersoftware für das Netzwerk
Neues Kapitel, alte Philosophie. Auch im Folgenden werden wir kaum intuitiv erlernbare Software ansprechen, sondern uns auf das konzentrieren, was man wirklich in einem Buch nachlesen muss, um es zu verstehen. Und um welche Software soll es gehen? Unser Thema ist die Client-Software für Netzwerke, genauer gesagt für TCP/IP-Netzwerke.
16.1 Telnet
Hinter dem Begriff Telnet steckt zum einen ein Protokoll – TELNET – das speziell für die Kommunikation zwischen mehreren Netzwerkkonsolen entwickelt wurde. Zum anderen steckt hinter Telnet aber auch das Tool telnet, das sich nicht nur über das TELNET-Protokoll mit einem Telnet-Server verbinden und mit diesem über TCP kommunizieren, sondern auch Verbindungen zu diversen anderen ASCII-basierten Diensten aufbauen kann und sich daher als äußerst hilfreich erweist.
Wir werden uns in diesem Buch nur mit dem Tool telnet auseinandersetzen. Für am TELNET-Protokoll Interessierte sei auf das Buch [WaEv98A] verwiesen.
Standardmäßig verbindet man sich über telnet mit einem Telnet-Server. [Fn. in der Regel telnetd oder der inetd-interne Server] Telnet läuft über TCP und benutzt den Port 23. Telnet kann man vereinfacht ausgedrückt so verstehen, dass man sich auf einem Rechner (lokal oder entfernt) mit einem dort vorhandenen Account einloggt, wie man es beim Standard-Login auf der Konsole gewohnt ist.
Nachdem das Login erfolgt ist, wird die Login-Shell des Benutzers gestartet, und man kann mit diesem System so auf der Konsole arbeiten, als säße man direkt vor dem Rechner. Beendet wird die Verbindung, indem man die Shell durch exit beziehungsweise logout verlässt.
16.1.1 Die erste Verbindung
Um sich mit einem Telnet-Server zu verbinden, gibt man dessen IP-Adresse oder Hostnamen als Parameter an telnet weiter. Optional kann man noch den Port des Dienstes angeben. Wenn man sich jedoch mit dem Standardport 23 verbinden will, ist diese explizite Port-Angabe nicht notwendig.
Listing 16.1 Beispiel einer Telnet-Sitzung
cdp_xe@eygo:\~{}/books/kompendium$ telnet 192.168.0.5
Trying 192.168.0.5...
Connected to 192.168.0.5.
Escape character is '^]'.
yorick login: cdp_xe
Password:
Linux 2.4.29.
Last login: Thu Oct 6 13:39:20 +0200 2005 on tty2.
No mail.
Dealing with failure is easy:
Work hard to improve.
Success is also easy to handle:
You've solved the wrong problem. Work hard to
improve.
cdp_xe@yorick:\~{}% ls
./ .gconf/ .gnome2_private/
../ .gconfd/ .kde/
.ICEauthority .gnome/ .kderc
.Xauthority .gnome2/ .mcop/
...
...
cdp_xe@yorick:\~{}% exit
Connection closed by foreign host.
16.1.2 HTTP, SMTP, POP3
Da telnet auch mit diversen Plaintext-Protokollen umgehen kann, ist es bei Kenntnis des jeweiligen Protokolls überhaupt kein Problem, eine einfache Kommunikation mit einem entsprechenden Server durchzuführen.
[zB]Nehmen wir als Beispiel eine HTTP-Verbindung. Dieses Protokoll wird bei der Kommunikation zwischen Browser und Webserver verwendet, um Webseiten zu übertragen, HTML-Formulare zu senden, Server-Informationen zu erfragen und ähnliche Aktionen durchzuführen.
Der TCP-Port des Webservers ist dabei der Port 80. Man gibt diesen Port entweder als Zahl oder als Kurzform an. Die Kurzformen (etwa http) finden Sie, wie Sie bereits aus dem letzten Kapitel wissen, in der Datei /etc/services.
Um eine Webseite anzufordern, verwendet man das HTTP-Kommando GET, gefolgt von dem URI [Fn. Uniform Resource Identifier] des Dokuments und der Protokollversion:
Listing 16.2 HTTP-Session mit Telnet
$ telnet yorick.sun 80
Trying 192.168.0.5...
Connected to yorick.sun.
Escape character is '^]'.
GET /index.html HTTP/1.0
HTTP/1.1 200 OK
Date: Wed, 19 Oct 2005 18:00:58 GMT
Server: Apache/1.3.33 (Unix)
Content-Location: index.html.en
Vary: negotiate,accept-language,accept-charset
TCN: choice
Last-Modified: Sun, 31 Oct 2004 21:05:08 GMT
ETag: "571c8-a71-41855384;41855385"
Accept-Ranges: bytes
Content-Length: 2673
Connection: close
Content-Type: text/html
Content-Language: en
Expires: Wed, 19 Oct 2005 18:00:58 GMT
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2
Final//EN»
<HTML>
<HEAD>
<TITLE>Test Page for the SSL/TLS-aware Apache
Installation on Web Site</TITLE>
<STYLE TYPE="text/css»
H1 {
font-weight: bold;
font-size: 18pt;
line-height: 18pt;
font-family: arial,helvetica;
font-variant: normal;
font-style: normal;
}
...
...
</BODY>
</HTML>
Connection closed by foreign host.
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.