Title: PowerPoint-Pr
13 Netzdienste im Internet
2Netzdienste über Ports ansprechbare Dienste,
die hauptsächlich (aber nicht nur) für die
Fernnutzung gedacht sind
Anwendungssoftware
Anwendungssoftware
zusätzliche Dienste, insbes. Netzdienste
BS-Dienste
Betriebssystem
33.1 Standarddienste
sind überall verfügbar TELNET, SSH (secure
shell) - Fernbenutzung FTP (file transfer
protocol) - Dateiübertragung TFTP (trivial
file transfer protocol) - einfache
Dateiübertragung SMTP (simple mail transfer
protocol) - Elektronische Post HTTP
(hypertext transfer protocol) - World-Wide
Web . . . . .
4Zusätzlich betriebssystemspezifische
Standarddienste, z.B. für Unix rlogin (remote
login) - Fernbenutzung rsh (remote Shell) -
Fernausführung einzelner Programme
Als Klienten fungieren meist Systemprogramme mit
geeigneter Benutzerschnittstelle (Dialog statt
simpler Frage/Antwort!), z.B. ? Unix-Befehl
ftp hostname mit zeilenorientiertem Dialog, ?
Unix-Befehl ssh hostname mit vollständiger
Sitzung (!), ? Web Browser mit GUI, ? etc.
. . . . .
5Ansprechen der jeweiligen Server über
wohlbekannte Ports (well-known ports)
Portnummern 1 255 Standarddienste
(BS-unabhängig) 512 1023 BS-spezifische
Dienste 1024 sonstige
reservierte Ports
6Klient Dienst Port Prot. Socket Login Programm
daytime daytime 13 tcp/udp stream root /et
c/daytimed ftp ftp 21 tcp stream root /etc/ftpd
ssh ssh 22 tcp stream root
/etc/sshd telnet telnet 23 tcp stream root /etc/
telnetd mailtool smtp 25 tcp stream root /etc/
sendmail tftp tftp 69 udp dgram root /etc/tftpd
browser http 80 tcp stream root /etc/http
d rlogin login 513 tcp stream root /etc/rlogind
rsh rsh 514 tcp stream root /etc/rshd rcp ...
..
7( Für Protokollfamilie IPv6 statt IPv4 tcp6 ,
udp6 )
Beachte Server ist nicht an bestimmtes
Klientenprogramm gebunden ! Beispiele telnet
localhost 25 erlaubt direkten Dialog mit dem
lokalen Mail Server (sofern nicht aus
Sicherheitsgründen abgeblockt) telnet jefe
79 fink produziert (fast) die gleiche
Ausgabe wie finger fink_at_jefe
83.2 Fernerzeugung von Prozessen erfolgt durch
einschlägigen Server
Prozesserzeuger (process server, spawner) !
Verschiedene Varianten möglich für -
Autorisierung des erzeugten Prozesses -
Ein/Ausgabe-Umgebung des erzeugten Prozesses -
ausgeführtes Programm
93.2.1 Internet Superserver (auch Internet
Daemon, Programm inetd )
- bedient alle wohlbekannten Ports (gemäß 2.4.3),
- erzeugt Prozesse (gemäß 2.4.3d),
- die jeweils portspezifisches Programm ausführen
(gemäß 3.1) - Typische Arbeitsweise nach dem fork
- - erzeugten Socket auf Standard-E/A 0, 1, 2
legen, - - exec für erforderliches Programm (z.B. ftpd)
ausführen
10- Initialisierung des Internet Daemon bei
Systemstart (Unix) - 1. /etc/inetd.conf enthält die Beschreibung der
zu unterstützenden - Dienste (gemäß Tabelle in 3.1) außer der
Portnummer - entsprechende Sockets werden erzeugt
(socket). - 2. /etc/services enthält Zuordnung der
Portnummern zu den Diensten - die Sockets werden entsprechend benannt
(bind). - Warten auf Dienstanforderungen (select).Achtung!
Dienste sind i.d.R. öffentlich und werden
mit root-Autorisierung erbracht ? Sicherheit
gefährdet !
113.2.2 Fernausführung beliebiger Programme
Standarddienst Fernausführung (remote
execution) durch Server Prozeßerzeuger
(process server) (Verallgemeinerung des
Internet Daemon) Prozeß, der beliebig
programmierbare Prozesse erzeugt
12z.B. Auftrag Unix-Befehl Effekt der
Bauftragung hinter Socket verbirgt sich
die Standard-E/A des erzeugten
Prozesses Server ist /etc/rshd (passender Klient
ist rsh ) Oder Fernbenutzung (remote
login) Server ist /etc/rlogind (passender Klient
ist rlogin ) ! Sicherheit gewährleisten ?
Zugangskontrolle ! Literatur W.R. Stevens
UNIX Network Programming. Prentice-Hall 1999