Anwendungen
Einführung
Verzeichnisse
Telnet, FTP...
HTTP
E-Mail
Sicherheit
Management
Unix & Windows

Hauptmenü
Startseite
Einführung
Daten übertragen
Datennetze
Transport
Info

Themen
Einführung
FTP
Telnet

Abbildungen
klassische, serielle Terminalanbindung

Simulation eines Terminals mit Telnet

Telnet

Telnet nutzt die Funktionalität von TCP, um eine transparente Verbindung von Client und Server herzustellen. Diese wird genutzt, um dem Client ein Kommandointerface zum Betriebssystem des Servers zur Verfügung zu stellen. Dies ist vor allem bei Unix-Servern ein gängiger Weg, um Service- und Wartungsarbeiten aus der Ferne vorzunehmen oder gar - bei Anwendungen, die auf reinen Textmasken basieren - auf dem Server zu arbeiten.

Der Telnet-Server erwartet Verbindungen auf Port 23. Sobald sich ein Client auf diesen Port verbindet, wird eine transparente TCP-Verbindung geschaltet und auf Serverseite das Unix-Programm "login" gestartet. Ein Telnet-Client besteht normalerweise aus einem Programm, das dem Anwender zunächst einen leeren Bildschirm präsentiert. Sobald die Verbindung besteht, werden alle über die Tastatur eingegebenen Zeichen an den Server gesendet und alle Zeichen, die vom Server kommen, werden in dem Fenster angezeigt. Hierbei stellt der Telnet-Client noch eine Terminal-Emulation zur Verfügung. Damit kann der Server bestimmte - von dem Typ der Terminal-Emulation abhängige - Steuerzeichen verwenden um z.B. den Bildschirm zu löschen, den Cursor zu positionieren, Schriftattribute zu setzen oder Grafiksymbole (z.B. für Rahmen) zu platzieren. Ursprünglich erfolgte jede Kommunikation mit Unix-Servern über Terminals, die über serielle Schnittstellen direkt angeschlossen waren. Die Fähigkeiten dieser Terminals stellen heute Telnet-Clients zur Verfügung, daher rührt der Name "Terminal-Emulation". Gängige Terminal-Emulationen bilden Terminals der Firma DEC nach - VT-100 oder VT-52 stellt hier eine Art kleinsten gemeinsamen Nenner dar. Daraus wurde ein erweiterter Standard geschaffen, der ANSI-Emulation genannt wird. Weiterhin populär sind VT-220, VT-320 und Geräte von Wyse (Modell 50 oder 60).

Das Programm "login" sendet dem Telnet-Client nun zunächst eine Startseite (ein Textbildschirm, den man unter /etc/issue ablegen kann) und anschließend den Text "login:".

Nun erwartet es, dass der Benutzer einen gültigen Usernamen auf dem Telnet-Server eingibt. Anschließend fragt es nach "password:", worauf es die Eingabe des Passwortes erwartet. Dabei ist das Echo eingegebener Zeichen abgeschaltet, der Benutzer sieht während der Passworteingabe keine Änderung auf dem Bildschirm. Username und Passwort werden nun mit dem Inhalt der Usertabelle (/etc/passwd) abgeglichen. Waren die Angaben korrekt, wird in das in der Usertabelle für den Benutzer vorgesehene Heimverzeichnis verzweigt und das für ihn vorgesehene Programm gestartet. Typischerweise ist das eine sogenannte Shell, d.h. ein Interpreter für Betriebssystembefehle.

Diese wiederum führt zunächst ein Skript aus (meist /etc/profile), das z.B. die verwendete Terminalemulation ermittelt und Systempfade einstellt. Anschließend wird ein weiteres Skript im Heimverzeichnis des Benutzers ausgeführt (meist .profile genannt). Dort kann der Benutzer eigene Voreinstellungen hinterlegen. Nachdem dies erledigt ist, erzeugt die Shell eine Eingabeaufforderung am Bildschirm des Benutzers. Jetzt kann er Befehle eingeben.

Bei Benutzern, die nur eine bestimmte Anwendung ausführen dürfen, wird diese meist in .profile eingetragen, gefolgt von dem Befehl "exit". Dadurch wird diese sofort nach dem Anmelden per telnet gestartet. Sobald sie wieder beendet wird, endet auch die Shell und damit die Telnet-Sitzung. Alternativ könnte man den Namen der Anwendung gleich in der Usertabelle hinterlegen, dann würde sie aber mit unbekannter Terminalemulation und ohne Umgebungsvariablen gestartet, was in den meisten Fällen ungeschickt ist.

Durch die transparente Verbindung gibt es noch eine weitere Anwendung für Telnet: Die meisten anderen Protokolle wie z.B. SMTP, POP3 oder HTTP arbeiten ebenfalls mit TCP-Verbindungen, über die Texte hin- und hergeschickt werden. Allerdings stellen Sie ihren Dienst auf einer anderen Portnummer zur Verfügung. Zu Diagnosezwecken kann man jedoch Telnet auf eine dieser Portnummern loslassen und das Protokoll dann manuell bedienen. Mit etwas Übung und Hintergrundwissen ist es kein Problem, z.B. über Port 25 (SMTP) eine Mail abzusetzen oder über Port 110 (POP3) sein Postfach abzufragen.

Auch wenn sie mittlerweile sehr aus der Mode gekommen sind - es gibt nach wie vor Terminals. Heute sind sie oftmals direkt ans Netzwerk anschließbar. Manche Geräte sind als sogenannte "Platine" ausgeführt. Das ist ein kleines Kästchen, an dem ein VGA-Monitor und eine normale PC-Tastatur angeschlossen werden kann und das nur noch die Logik des Terminals enthält. Netzwerk-Terminals beherrschen das Telnet-Protokoll und bauen sofort nach dem Einschalten eine Verbindung zu einem vorkonfigurierten Host auf.


Für serielle Terminals gibt es jedoch auch einen Weg, die Verbindung zum Server über das Netzwerk herzustellen. Das dafür benötigte Gerät nennt man Terminalserver. Es enthält meist mehrere serielle Schnittstellen zum Anschluss von Terminals. Für jede dieser Schnittstellen kann der Terminalserver nun eine Telnet-Sitzung unterhalten. Es gibt auch Mischformen, z.B. Platinen mit Netzwerkanschluss und einer oder zwei seriellen Schnittstellen, über die weitere serielle Terminals angeschlossen werden können.