Der folgende
Ausschnitt von /etc/services
zeigt exemplarisch einige Ports mit den zugeordneten Diensten:
Hier sieht man, daß Portnummern durchaus doppelt vergeben werden können, da es sich, wie im Fall des domain Dienstes um zwei verschiedene Protokolle handelt. Aus der Tabelle ist zu erkennen, daß auf Port 23 des TCP Protokolls ein Telnet Telnet Dienst zu erwarten ist, sofern dieser Port bedient wird. Diese Ports sind also die Kommunikationsendpunkte auf der anderen Seite einer Kommunikationsverbindung. Ein Serverprozeß hat auch einen Socket geöffnet und wartet nun mit diesem Socket , bis eine Verbindung zu ihm aufgebaut wird.
Ein bestimmter Dienst ist durch das folgende Tripel repräsentiert:
Dieses Tripel ist eindeutig und es können keine zwei unterschiedliche Dienste mit dem gleichen Tripel existieren. Den symbolischen Namen für einen Dienst kann man im Normalfall in /etc/services finden.
Prinzipiell werden Ports auf Unix(TM) Rechnern für
ausgehende
Verbindungen - für das Ziel muß der Zielport angegeben werden -
dynamisch, mit niederen Nummern beginnend, vergeben:
ein Prozeß, der einen Port zur Kommunikation benötigt, bekommt den
nächsten freien mit der niedrigsten verfügbaren Nummer vom System
zugewiesen. Damit aber kein Benutzer dies als
Sicherheitsloch ausnutzen kann, indem er sich sehr früh einloggt, oder falls
ein alter Port nicht mehr benötigt wird, diesen wiederbenutzt und einen
eigenen Server auf diesen Port setzt, dürfen Ports mit einer Nummer
[IMAGE ] 1024 nur von root belegt werden; root ist per Definition
der Benutzer auf einem Unix System, der
vertrauenswürdig ist.
Wäre diese Einschränkung nicht
gegeben, könnte nicht mit Sicherheit gesagt werden, welcher Dienst
auf welchem Port zu erwarten ist.
Aus diesem
Grund sind die Dienste fest den Ports zugeordnet und wenn ein Server
auf Port n arbeitet, kann zu diesem Port eine
Verbindung aufgebaut werden.
Manche Server (wie z.B. X Windows oder Irc) nehmen sich Ports mit einer
hohen Nummer (6000 und 6667), so daß dort die Wahrscheinlichkeit
der Portblockierung zum Zeitpunkt des Serverstarts gering ist.