Server

Server

Zielgruppe sind StudentInnen und ambitionierte Informatik-Amateure

Grundkenntnisse der Informatik erleichtern das Verständnis der Themen.



Client-Server-Paare

• Der Begriff 'Server' wird leider auch für die Hardware verwendet, d.h. für einen Computer, an dem (typisch mehrere) Server-Programme laufen und ihre Dienste anbieten.
In diesem Web wird dafür der Begriff 'Server-PC' verwendet, obwohl das 'P' (Personal) des Begriffs in diesem Fall nicht angebracht ist: Ein Server-PC dient typisch einem Lokalen Netzwerk (LAN, Intranet) oder dem gesamten Internet.


Jedes Client-Server-Paar verwendet zur Kommunikation ein international standardisiertes Protokoll. Damit bezeichnet man die Sammlung aller Regeln (Syntax, Grammatik), nach denen die Anforderung (Request) eines Clients formuliert sein muss, und nach denen der Server die Antwort-Daten sendet.

Beispiel:
Das Paar Browser (HTTP-Client) und Webserver (HTTP-Server) tauschen Daten nach den Regeln des HTTP-Protokolls aus.

Manche Client-Programme beherrschen mehrere Protokolle, d.h. sie können mit unterschiedlichen Server-Typen kommunizieren. Dazu zählen alle modernen Browser, obwohl auch in diesem Fall das HTTP-Protokoll das mit Abstand wichtigste ist.

Live-Beispiel → HTTP-Protokoll, Diagramm des → HTTP-Datenflusses mit und ohne Javascript, PHP, Datenbank...

(IP)-Adressen

LAN-Server

Im eigenen lokalen Netzwerk (LAN, Intranet) sollte der Intranet-Server eine fixe Adresse erhalten.

An jedem modernen (W)LAN-Router-Gerät läuft ein DHCP-Server-Programm. Dieses Programm weist jedem Gerät (Computer, Drucker, ...) unmittelbar nach dessen Start eine eindeutige IP-Adresse zu. Man kann den Router so konfigurieren, dass er bestimmten Geräten eine fixe Adresse zuweist. Es ist üblich, dazu die ersten verfügbaren Adressen zu verwenden, z.B.
192.168.0.1  bis  192.168.0.10

Alternativ kann man einen Server-PC so konfigurieren, dass er beim Hochfahren nicht die Dienste eines DHCP-Servers anfordert, sondern eine manuell fix eingestellte IP-Adresse verwendet.

Nachdem die IP-Adresse des eigenen LAN-Servers feststeht, wird sie an allen Programmen einmalig konfiguriert.
Beispiel:   An jedem Browser-Programm wird typisch die Adresse des eigenen Webservers als Startseite eingetragen.

Port-Nummern

Server-Port

An jedem Server-PC laufen typisch mehrere unterschiedliche Server-Programme. Sie alle sind unter der gleichen IP-Adresse des Server-PC erreichbar. Daher muss es eine Möglichkeit geben, die Kommunikation der Server-Programme voneinander zu trennen.
Dazu dient das Prinzip der Ports: Jedem Server-Programm wird eine fixe Port-Nummer 1...1023 dauerhaft zugeteilt.
Liste bei  Wikipedia und der zuständigen Behörde  IANA

Jedes Client-Programm muss zusätzlich zur IP-Adresse auch die Port-Nummer des jeweiligen Servers kennen. Die Port-Nummern von Server-Programmen sind international standardisiert. Jedes Client-Programm verlässt sich ohne weitere Maßnahmen darauf, dass ein Server an seinem Standard-Port auf Aufträge wartet (listen).

Beispiel:   Jeder Webserver erwartet Aufträge an Port 80. Jedes Browser-Programm sendet daher unaufgefordert Aufträge an Port 80

Es ist möglich, den Empfangs-Port von Server-Programmen an beliebige andere Port-Nummern zu verlegen. In diesem Fall kann man den jeweiligen Server nur dann erreichen, wenn man seine (Non-Standard) Port-Nummer kennt oder herausfindet.
Beispiel:   Um einen Webserver auf dem Non-Standard-Port 8080 zu erreichen, muss man diese Zahl in der Web-Adresse angeben, z.B.
http://192.168.1.23:8080

Böswillige Angreifer verwenden oft Port-Scanner: Das sind Programme, die an einer bestimmten IP-Adresse der Reihe nach alle Ports adressieren, um herauszufinden, an welchen ('offenen') Ports ein Server-Programm Aufträge erwartet.
Bei der Server-Administration verwendet man die gleichen Programme, um Sicherheits-Lücken aufzuspüren.


WireShark
ist ein professionelles Analyse-Programm, das kostenfrei für alle gängigen Betriebssysteme verfügbar ist. ( Wikipedia, WireShark-Home).

TCPdump
ist ein kostenfreiers Konsolen-Programm zur professionellen Traffic-Analyse auf Linux. Für Windows gibt es eine portierte Version WinDump ( Wikipedia, TCPdump-Home).

Fiddler
ist ein kostenfreier Proxy-Server für Windows. Er analysiert die durchlaufenden HTTP-Daten und eignet sich hervorragend zur Optimierung von wichtigen (oft verwendeten) Webseiten. ( Wikipedia, Fiddler-Home)

VirtualBox
Analyse-Software lässt sich ideal auf einem → Virtuellen PC verwenden. Dieser PC wird mit reichlich Werkzeug ausgestattet und nur bei Bedarf in Betrieb genommen.

Micro-PC
Ein billiger µPC (z.B. → Raspberry) lässt sich als portables Hardware-Werkzeug konfigurieren. Damit kann man das eigene oder jedes andere Netzwerk ohne Eingriff in die Netzwerk-Konfiguration an jeder Stelle analysieren, z.B. auch zwischen Server und LAN oder zwischen Router und LAN.