Ports: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
= Funktionsweise der Ports =
 +
* Anwendungsserver fordern bei ihrem Start beim Betriebssystem einen Port an, auf dem sie Verbindungen entgegennehmen können.
 +
* Für Standard-Anwendungen handelt es sich in der Regel immer um die gleichen festen Portnummern.
 +
* Anschließend ist der Netzwerk-Port fest mit der Anwendung verknüpft.
 +
* Clients erhalten vom Betriebssystem in der Regel einen zufälligen Port dynamisch zugewiesen.
 +
* Diese sind dann mit der Client-Anwendung verknüpft und stellen den „Rückweg“ zu dieser dar.
 +
* Der Client muss die Ziel-IP-Adresse und den Ziel-Port des Servers kennen.
 +
* Beim Verbindungsaufbau lernt der Server den Port des Clients kennen und adressiert Antwortpakete an diesen.
 +
* Ports sind 16-Bit-Werte (0–65535) und werden in drei Bereiche unterteilt:
 +
** Well-Known Ports (0–1023)
 +
** Registered Ports (1024–49151)
 +
** Dynamic/Private Ports (49152–65535)
 +
 +
= Standard Ports =
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Zeile 18: Zeile 32:
 
|25
 
|25
 
|smtp
 
|smtp
 +
|465
 +
|smtps
 +
|-
 
|53
 
|53
 
|domain
 
|domain
|-
 
 
|67
 
|67
 
|bootps
 
|bootps
 +
|-
 
|68
 
|68
 
|bootpc
 
|bootpc
|-
 
 
|80
 
|80
 
|http
 
|http
|88
 
|kerberos
 
 
|-
 
|-
|465
+
|110
|submissions
+
|pop3
|993
+
|143
|imaps
+
|imap
 
|-
 
|-
 +
|161
 +
|snmp
 
|389
 
|389
 
|ldap
 
|ldap
 +
|-
 
|443
 
|443
 
|https
 
|https
|-
 
|139
 
|netbios-ssn
 
 
|445
 
|445
 
|microsoft-ds
 
|microsoft-ds
 +
|-
 +
|636
 +
|ldaps
 +
|993
 +
|imaps
 
|-
 
|-
 
|3128
 
|3128
|squid  
+
|squid
 +
|3306
 +
|mysql
 +
|-
 
|3389
 
|3389
 
|rdp
 
|rdp
 +
|5432
 +
|postgresql
 +
|-
 +
|5900
 +
|vnc
 +
|8080
 +
|webcache
 
|}
 
|}
 +
 +
= Weitere Aspekte der Port-Kommunikation =
 +
 +
==== Multiplexing und das 5-Tupel ====
 +
* Ein einzelner Server-Port (z. B. Port 80) kann tausende Verbindungen gleichzeitig bedienen, ohne "belegt" zu sein.
 +
* Das Betriebssystem unterscheidet die eingehenden Datenpakete anhand des sogenannten 5-Tupels: {Quell-IP, Quell-Port, Ziel-IP, Ziel-Port, Protokoll}.
 +
* Solange sich mindestens einer dieser fünf Werte unterscheidet, wird das Paket einer separaten, eindeutigen Verbindung zugeordnet.
 +
 +
==== Privilegierte Ports unter Unix/Linux ====
 +
* Ports im Bereich von 0 bis 1023 gelten als privilegierte Ports.
 +
* Nur Prozesse mit Root-Rechten (Administrator) dürfen diese Ports binden und darauf auf Verbindungen warten (Listen).
 +
* Dies verhindert, dass normale Benutzer ohne Berechtigung einen gefälschten Dienst (z. B. einen manipulierten SSH-Server) auf einem Standard-Port starten.
 +
 +
==== Ephemeral Ports und TIME_WAIT ====
 +
* Die dynamischen Ports (Ephemeral Ports), die Clients für ausgehende Verbindungen nutzen, sind kurzlebig.
 +
* Nach dem Schließen einer TCP-Verbindung verbleibt der Port für eine kurze Zeit (meist 60–120 Sekunden) im Zustand TIME_WAIT.
 +
* Diese Sperre stellt sicher, dass verspätete Pakete der alten Verbindung nicht fälschlicherweise einer neuen Verbindung auf demselben Port zugeordnet werden.

Aktuelle Version vom 29. März 2026, 11:08 Uhr

Funktionsweise der Ports

  • Anwendungsserver fordern bei ihrem Start beim Betriebssystem einen Port an, auf dem sie Verbindungen entgegennehmen können.
  • Für Standard-Anwendungen handelt es sich in der Regel immer um die gleichen festen Portnummern.
  • Anschließend ist der Netzwerk-Port fest mit der Anwendung verknüpft.
  • Clients erhalten vom Betriebssystem in der Regel einen zufälligen Port dynamisch zugewiesen.
  • Diese sind dann mit der Client-Anwendung verknüpft und stellen den „Rückweg“ zu dieser dar.
  • Der Client muss die Ziel-IP-Adresse und den Ziel-Port des Servers kennen.
  • Beim Verbindungsaufbau lernt der Server den Port des Clients kennen und adressiert Antwortpakete an diesen.
  • Ports sind 16-Bit-Werte (0–65535) und werden in drei Bereiche unterteilt:
    • Well-Known Ports (0–1023)
    • Registered Ports (1024–49151)
    • Dynamic/Private Ports (49152–65535)

Standard Ports

Port Service Port Service
20 ftp-data 21 ftp
22 ssh 23 telnet
25 smtp 465 smtps
53 domain 67 bootps
68 bootpc 80 http
110 pop3 143 imap
161 snmp 389 ldap
443 https 445 microsoft-ds
636 ldaps 993 imaps
3128 squid 3306 mysql
3389 rdp 5432 postgresql
5900 vnc 8080 webcache

Weitere Aspekte der Port-Kommunikation

Multiplexing und das 5-Tupel

  • Ein einzelner Server-Port (z. B. Port 80) kann tausende Verbindungen gleichzeitig bedienen, ohne "belegt" zu sein.
  • Das Betriebssystem unterscheidet die eingehenden Datenpakete anhand des sogenannten 5-Tupels: {Quell-IP, Quell-Port, Ziel-IP, Ziel-Port, Protokoll}.
  • Solange sich mindestens einer dieser fünf Werte unterscheidet, wird das Paket einer separaten, eindeutigen Verbindung zugeordnet.

Privilegierte Ports unter Unix/Linux

  • Ports im Bereich von 0 bis 1023 gelten als privilegierte Ports.
  • Nur Prozesse mit Root-Rechten (Administrator) dürfen diese Ports binden und darauf auf Verbindungen warten (Listen).
  • Dies verhindert, dass normale Benutzer ohne Berechtigung einen gefälschten Dienst (z. B. einen manipulierten SSH-Server) auf einem Standard-Port starten.

Ephemeral Ports und TIME_WAIT

  • Die dynamischen Ports (Ephemeral Ports), die Clients für ausgehende Verbindungen nutzen, sind kurzlebig.
  • Nach dem Schließen einer TCP-Verbindung verbleibt der Port für eine kurze Zeit (meist 60–120 Sekunden) im Zustand TIME_WAIT.
  • Diese Sperre stellt sicher, dass verspätete Pakete der alten Verbindung nicht fälschlicherweise einer neuen Verbindung auf demselben Port zugeordnet werden.