|   |     | 
| (45 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | 
| Zeile 1: | Zeile 1: | 
|  | '''topic''' - Kurzbeschreibung
 |  | #WEITERLEITUNG [[Netzwerk/L4/Port]] | 
|  | == Beschreibung ==
 |  | 
|  | * Portnummern sind 16-Bit-Zahlen und reichen von 0 bis 65535.
 |  | 
|  | * Ports von 0 bis 1023 sind reserviert
 |  | 
|  | ** Vergeben von '''I'''nternet '''A'''ssigned '''N'''umbers '''A'''uthority (IANA)
 |  | 
|  | ** z. B.  ist Port 80 für '''H'''yper'''t'''ext '''T'''ransfer '''P'''rotocol (HTTP) reserviert.
 |  | 
|  | * Das Benutzen der vordefinierten Ports ist nicht bindend. 
 |  | 
|  | ** Jeder Administrator kann bspw. einen FTP-Server (normalerweise Port 21) auch auf einem beliebigen Port laufen lassen.
 |  | 
|  | * Mehrfaches ''listen'' auf demselben Port ist nicht möglich.
 |  | 
|  | ; Identifizieren von Anwendungen
 |  | 
|  | * Ports von 0 bis 65535 gibt es unabhängig voneinander bei TCP  und UDP
 |  | 
|  | * Sie stellen die Endpunkte einer Kommunikations-beziehung  zwischen zwei Rechnern dar
 |  | 
|  | * Die sog. „well-known-ports“ von 0..1023 sind standardisiert  z. B. :
 |  | 
|  | * TCP-Port 80 für http
 |  | 
|  | * UDP+TCP-Port 53 für DNS
 |  | 
|  | * UDP-Port 123 für NTP
 |  | 
|  |   |  | 
|  | * Die well-known-ports  sind für Systemdienste/Daemons  reserviert und dürfen nur mit besonderen Rechten (root)  genutzt werden
 |  | 
|  |   |  | 
|  | ; TCP-Multiplexmechanismus
 |  | 
|  | * Da die Kombination aus IP-Adresse, Quell- und Zielport  eindeutig ist, können auch Datenströme gleichen Typs  eindeutig den zuständigen Prozessen zugeordnet werden
 |  | 
|  |   |  | 
|  | == Zuweisung von Portnummern ==
 |  | 
|  | ; Passive Seite
 |  | 
|  | * Server bindet sich an einen bestimmten Port (bind())
 |  | 
|  | ; Aktive Seite
 |  | 
|  | * Client sendet Anfrage oder erstellt eine Verbindung zum Port des Servers (connect()).
 |  | 
|  |   |  | 
|  | ; Portnummern können Anwendungsdiensten statisch zugeordnet sein
 |  | 
|  | : Eintrag in einer Datenbank, die den durch Server erbrachten Diensten bestimmte Ports zuordnet 
 |  | 
|  | :* /etc/services (UNIX)
 |  | 
|  | ;* %SYSTEMROOT%\system32\drivers\etc\services  (Windows)
 |  | 
|  |   |  | 
|  | ; Dynamische Zuordnung via Verzeichnisdienst, Nameserver (lokal oder verteilt) möglich
 |  | 
|  |   |  | 
|  | == Well Known Ports ==
 |  | 
|  | well-known-ports
 |  | 
|  | ; Verwaltung 
 |  | 
|  | * Internet Assigned Numbers Authority (IANA)
 |  | 
|  | ** Zuständig für Vergabe von Konstanten in TCP/ IP- Protokollen (port numbers, protocol numbers, ...)
 |  | 
|  |   |  | 
|  | ; Bereich 0.. 1023: Für globale "well known" ports, kontrolliert von der IANA
 |  | 
|  | * Bereich 1024 .. 65535: Frei für dynamische Allozierung durch Prozesse oder für statische Allozierung mit lokaler Bedeutung
 |  | 
|  | * Registrierung durch IANA ist optional
 |  | 
|  |   |  | 
|  | ;Aktuelle globale/statische Zuordnungen
 |  | 
|  | * ftp://ftp.isi.edu/in-notes/iana/assignments
 |  | 
|  |   |  | 
|  | === Well-known port numbers ===
 |  | 
|  | '''%SYSTENROOT%\system32\drivers\etc\services'''
 |  | 
|  |  # Copyright (c) 1993-1999 Microsoft Corp.
 |  | 
|  |  # Diese Datei enthält die Portnummern für bekannte Dienste gemäß IANA.
 |  | 
|  |  # Format:
 |  | 
|  |  #<Dienstname>  <Portnummer>/<Protokoll>  [Alias...]   [#<Kommentar>] 
 |  | 
|  |  
 |  | 
|  |  ftp-data           20/tcp                           #FTP, data
 |  | 
|  |  ftp                21/tcp                           #FTP. control
 |  | 
|  |  telnet             23/tcp
 |  | 
|  |  smtp               25/tcp    mail                   #Simple Mail Transfer Protocol
 |  | 
|  |  time               37/tcp    timserver
 |  | 
|  |  time               37/udp    timserver
 |  | 
|  |  domain             53/tcp                           #Domain Name Server
 |  | 
|  |  domain             53/udp                           #Domain Name Server
 |  | 
|  |  tftp               69/udp                           #Trivial File Transfer
 |  | 
|  |  http               80/tcp    www www-http           #World Wide Web
 |  | 
|  |  pop3              110/tcp                           #Post Office Protocol - Version 3
 |  | 
|  |  nntp              119/tcp    usenet                 #Network News Transfer Protocol
 |  | 
|  |  ntp               123/udp                           #Network Time Protocol
 |  | 
|  |  netbios-ns        137/tcp    nbname                 #NETBIOS Name Service
 |  | 
|  |  netbios-ns        137/udp    nbname                 #NETBIOS Name Service
 |  | 
|  |  netbios-dgm       138/udp    nbdatagram             #NETBIOS Datagram Service
 |  | 
|  |  netbios-ssn       139/tcp    nbsession              #NETBIOS Session Service
 |  | 
|  |  imap              143/tcp    imap4                  #Internet Message Access Protocol
 |  | 
|  |  snmp              161/udp                           #SNMP
 |  | 
|  |  irc               194/tcp                           #Internet Relay Chat Protocol        
 |  | 
|  |  ipx               213/udp                           #IPX over IP
 |  | 
|  |  https             443/tcp    MCom
 |  | 
|  |  https             443/udp    MCom
 |  | 
|  |  [...]
 |  | 
|  |   |  | 
|  | == Portzustände ==
 |  | 
|  | {| class="wikitable options"
 |  | 
|  | ! Zustand !! Beschreibung
 |  | 
|  | |-
 |  | 
|  | | Offen || bedeutet, dass eine Anwendung oder ein Dienst bereit ist TCP-Verbindungen oder UDP-Pakete auf diesem Port anzunehmen.
 |  | 
|  | * Um Kommunikationsverbindungen betreiben zu können, bedarf es offener Ports.
 |  | 
|  | * Anzahl offener Ports begrenzen, um die Angriffsfläche so klein wie möglich zu halten.
 |  | 
|  | * Offene Ports werden zusätzlich geschützt oder Verbindungsmöglichkeiten eingeschränkt.
 |  | 
|  | |-
 |  | 
|  | | Geschlossen || bedeutet, dass keine Anwendung und kein Dienst an diesem Port auf eingehende Datenpakete und Verbindungsversuche lauscht bzw. hört.
 |  | 
|  | * Auf ihm sind keine Kommunikationsverbindungen möglich.
 |  | 
|  | * Ein geschlossener Portist nur so lange geschlossen, wie eine Anwendung auf diesen Port hört und Verbindungen und Pakete annimmt.
 |  | 
|  | * So verhindert man z. B.  die Verbindungsversuche durch Port-Scans.
 |  | 
|  | * Ein Port-Scan soll nur den Zustand eines Ports ermitteln, aber keine echte Verbindung aufbauen.
 |  | 
|  | * Dann kann für diesen Port weder der Status "offen" noch "geschlossen" gelten.
 |  | 
|  | |-
 |  | 
|  | | Gefiltert/Blockiert || Dafür gibt es den Zustand "gefiltert" oder "blockiert"
 |  | 
|  | * Um offene, aber auch geschlossene Ports zu schützen, setzen Systemadministratoren einen Portfilter (Firewall) ein.
 |  | 
|  | * Weil er die dahinterliegende Anwendung nicht kennt, kann er nur Testpakete an einen Port schicken.
 |  | 
|  | * Der Filter verhindert, dass diese Testpakete durchkommen.
 |  | 
|  | * In der Regel werden diese Pakete verworfen.
 |  | 
|  | * Gefiltert bedeutet, dass eine Firewall, ein Filter oder ein anderes Netzwerkhindernis den Port blockiert.
 |  | 
|  | |}
 |  | 
|  |   |  | 
|  | <noinclude>
 |  | 
|  |   |  | 
|  | == Anhang ==
 |  | 
|  | === Siehe auch ===
 |  | 
|  | {{Special:PrefixIndex/{{BASEPAGENAME}}}}
 |  | 
|  | ==== Sicherheit ====
 |  | 
|  | ==== Dokumentation ====
 |  | 
|  | ===== RFC =====
 |  | 
|  | ===== Man-Pages =====
 |  | 
|  | ===== Info-Pages =====
 |  | 
|  | ==== Links ====
 |  | 
|  | ===== Projekt =====
 |  | 
|  | ===== Weblinks =====
 |  | 
|  |   |  | 
|  | [[Kategorie:TCP]]
 |  | 
|  | [[Kategorie:Netzwerk/Adresse]]
 |  | 
|  | </noinclude>
 |  |