12.2 Standarddienste
Nun wollen wir einige Standarddienste besprechen. Viele dieser Dienste werden von inetd bzw. xinetd bereits intern bereitgestellt. Andere hingegen werden in der Regel als einzelne Programme zu finden sein.
12.2.1 echo
Der Echo-Dienst läuft auf Port 7 und kann sowohl über UDP als auch über TCP betrieben werden. Echo funktioniert nach einem sehr einfachen Prinzip: Der Client sendet einen Zeichen-String an den Server, und der Server antwortet darauf, indem er genau denselben Zeichenstring wieder zurück an den Client sendet.
12.2.2 discard
Discard läuft auf Port 9 und kann ebenfalls sowohl über TCP als auch über UDP betrieben werden. Der Client verbindet sich dabei mit dem Server, worauf der Server eine Gegenverbindung zum Client aufbaut. Nachdem eine Antwort des Clients eingetroffen ist (und diese vom Server verworfen wurde), beendet sich der Dienst. Falls Sie sich nun fragen, wozu das gut sein soll: Der Dienst spielt in der Server-Landschaft praktisch keine Rolle, sein Nutzen besteht darin, Testverbindungen aufzubauen.
12.2.3 systat und netstat
Der Dienst »systat« (TCP-Port 11) liefert Statusinformationen über die Prozesse des Serversystems an den Client. Möchten Sie hingegen Informationen über die Netzwerkverbindungen und Sockets des Systems, hilft Ihnen der TCP-Port 15 (»netstat«) weiter.
12.2.4 daytime und time
Der Daytime-Dienst verwendet den TCP/UDP-Port 13 und sendet an einen Client die aktuelle Uhrzeit in einer für Menschen verständlichen Form. Der Time-Dienst (TCP/UDP Port-37) sendet die gleichen Informationen, allerdings in einer nur für den Computer lesbaren Form.
$ telnet 192.168.0.5 daytime
Trying 192.168.0.5...
Connected to 192.168.0.5.
Escape character is '^]'.
Thu Nov 24 17:24:27 2005
Connection closed by foreign host.
Listing 12.7 daytime-Anfrage via telnet
12.2.5 QotD
Ein sehr populärer Dienst ist der QotD-Dienst. QotD steht für »Quote of the Day« und liefert dem Client auf Port 17 (UDP und TCP) einen Spruch, ein Zitat oder Ähnliches.
12.2.6 chargen
Der TCP/UDP-Dienst Chargen verwendet den Port 19. Der Sinn und Zweck des Dienstes ist es, einen Zeichenstrom zu generieren. Pausenlos werden dabei Daten an den Client gesendet. Chargen wird zur Performance-Messung eingesetzt.
12.2.7 finger
Der TCP-Dienst »finger« (Port 79) gibt Informationen über eingeloggte Benutzer an den Client weiter. Dies stellt generell ein hohes Sicherheitsrisiko dar. Der finger-Dienst kann verwendet werden, um zu überprüfen, ob ein Account exisitert, ob er derzeit verwendet wird, ob der Account eine Login-Shell verwendet, wie lange der Benutzer bereits eingeloggt ist bzw. wann der letzte Login stattfand, ob es Informationen in der .plan-Datei des Benutzers gibt und noch so einige Dinge mehr.
$ finger root@192.168.0.5
[192.168.0.5/192.168.0.5]
Login: root Name: (null)
Directory: /root Shell: /bin/bash
On since Thu Nov 24 17:06 (CET) on tty1,
18 seconds idle
No mail.
No Plan.
Listing 12.8 Eine finger-Anfrage
Der finger-Dienst wird aber auch oft für andere Zwecke, nämlich zur Informationspräsentierung, verwendet. Versuchen Sie einmal, einen finger-Request auf den Host ftp.kernel.org durchzuführen. Das Kommando dazu lautet finger @ftp.kernel.org. <Es wird also kein Benutzername angegeben.>
12.2.8 Telnet und R-Dienste
Telnet und die R-Dienste kennen Sie bereits aus dem vorhergehenden Kapitel zum Thema »Netzwerk-Clients«. Sowohl für Telnet als auch für die R-Dienste stellen die Betriebssysteme jeweils einzelne Binaries zur Verfügung. Es ist eher ungewöhnlich, dass telnetd oder ähnliche Dienste intern im (x)inetd laufen.
Im Übrigen sollten sowohl Telnet als auch die R-Dienste aus Sicherheitsgründen nicht mehr verwendet werden. Nutzen Sie lieber SSH, dafür gibt es sogar ein eigenes Kapitel.