TELNET

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen


Einleitung

  • Telnet (Telecommunication Network) ist ein textbasiertes, bidirektionales Kommunikationsprotokoll aus den 1970er-Jahren.
  • Es ist im RFC 854 definiert und arbeitet auf der Anwendungsschicht (Layer 7).
  • Telnet diente ursprünglich als allgemeines Terminalprotokoll, um eine Verbindung zwischen einem lokalen Terminal und einem entfernten Host herzustellen.
  • Standardport: TCP 23.

Aufgabe

  • Das Telnet-Protokoll stellt keine spezielle Anwendung dar, sondern einen Rahmen für den Austausch von Steuer- und Zeichendaten zwischen Terminal und Serverprozess.
  • Es kann zur Fernanmeldung, für Geräte- oder Router-Konsolen, aber auch als Transport für andere textbasierte Dienste verwendet werden.

Protokollstruktur

  • Telnet arbeitet über eine zuverlässige TCP-Verbindung.
  • Alle übertragenen Daten bestehen aus 8-Bit-Zeichen (Oktetten).
  • Zeichenwerte < 128 werden als ASCII interpretiert.
  • Zeichenwerte ≥ 128 werden als Steuersequenzen interpretiert, wenn sie mit dem Kommando-Byte **IAC (Interpret As Command)** beginnen.

Steuerzeichen

Kürzel Wert (dezimal/hex) Bedeutung
IAC 255 / 0xFF Interpret As Command – leitet Telnet-Befehle ein
DO 253 / 0xFD Fordert Option vom Partner an
DONT 254 / 0xFE Verlangt, dass Option deaktiviert wird
WILL 251 / 0xFB Bietet Option an
WONT 252 / 0xFC Lehnt Option ab
SB 250 / 0xFA Beginn Subnegotiation
SE 240 / 0xF0 Ende Subnegotiation

Beispiel für eine Aushandlung:

Client → Server:  IAC DO ECHO
Server → Client:  IAC WILL ECHO

Der Client bittet den Server darum, das Echo-Verhalten zu übernehmen. Der Server stimmt zu.

Optionen

  • Telnet-Optionen erweitern die Grundfunktion, indem sie Terminaleigenschaften oder Übertragungsmodi definieren.
  • Wichtige standardisierte Optionen:
Option Code Bedeutung
ECHO 1 Server sendet eingegebene Zeichen zurück (Terminal-Echo)
SUPPRESS GO AHEAD 3 Unterdrückt „Go-Ahead“-Zeichen bei Vollduplex-Betrieb
TERMINAL-TYPE 24 Überträgt Terminaltyp (z. B. VT100)
NAWS (Negotiate About Window Size) 31 Übergibt Fenstergröße (z. B. 80×24)
LINEMODE 34 Aktiviert zeilenorientierte Eingabe

Datenfluss

  • Nach Abschluss der Optionsaushandlung werden die reinen Zeichendaten in beide Richtungen übertragen.
  • Zeilenenden bestehen aus CR LF (Karikage Return + Line Feed).
  • Der Kommunikationskanal ist vollständig bidirektional, es gibt keine getrennten Steuer- und Datenkanäle.

400px

Beispiel einer Sitzung (konzeptuell)

Client → Server:  IAC DO SUPPRESS-GO-AHEAD
Server → Client:  IAC WILL SUPPRESS-GO-AHEAD
Client → Server:  IAC DO ECHO
Server → Client:  IAC WONT ECHO
Client → Server:  login: admin⏎
Server → Client:  Password:
Client → Server:  ******⏎
Server → Client:  Welcome to Unix (tty1)

Zeichendarstellung

  • Das Telnet-Protokoll verwendet 7-Bit-ASCII-Zeichen.
  • Bei Bedarf können 8-Bit-Daten durch Verdopplung des IAC-Bytes (0xFF 0xFF) übertragen werden.
  • Zeilenendezeichen sind immer „Carriage Return + Line Feed“ (CR LF, 0x0D 0x0A).

Nutzungsschicht

  • Telnet definiert weder Authentifizierung noch Verschlüsselung.
  • Es stellt lediglich die Terminal-Abstraktion bereit.
  • Dienste wie Login-Shells, Router-CLI oder MUD-Server verwenden Telnet als Transportmechanismus.

RFCs

RFC Titel Jahr
RFC 854 Telnet Protocol Specification 1983
RFC 855 Telnet Option Specifications 1983
RFC 857–861 Diverse Optionen (ECHO, SUPPRESS GO AHEAD, STATUS, TIMING MARK etc.) 1983

Sicherheit

  • Telnet überträgt alle Daten im Klartext.
  • Weder Authentifizierung noch Verschlüsselung sind Teil des Protokolls.
  • Das macht Telnet anfällig für Sniffing- und MITM-Angriffe.
  • Moderne Systeme ersetzen Telnet vollständig durch SSH (RFC 4251 ff.).

Verwendung heute

  • Analyse und Test textbasierter Dienste (SMTP, POP3, HTTP)
  • Einige Netzwerkgeräte unterstützen es noch als Konsolenzugang
  • Zu Lehrzwecken, um das Prinzip bidirektionaler Textprotokolle zu zeigen

Fazit

  • Telnet war ein grundlegendes Terminalprotokoll und Wegbereiter für interaktive Internetkommunikation.
  • Seine Architektur (Option Negotiation, Steuerbytes, Klartext) diente als Vorlage für viele spätere RFC-Protokolle.
  • Aus Sicherheitsgründen wird Telnet heute nicht mehr produktiv eingesetzt, ist aber für Protokollanalyse und Lehre weiterhin relevant.

Nur für Demonstrationszwecke