Skip to main content

Welchen Zweck dient der TCP / UDP-Port 0?

Things Mr. Welch is No Longer Allowed to do in a RPG #1-2450 Reading Compilation (Kann 2024)

Things Mr. Welch is No Longer Allowed to do in a RPG #1-2450 Reading Compilation (Kann 2024)
Anonim

Im Gegensatz zu den meisten Portnummern ist Port 0 in TCP / IP-Netzwerken ein reservierter Port, dh er sollte nicht in TCP- oder UDP-Nachrichten verwendet werden.

Port 0 ist in der Netzwerkprogrammierung von besonderer Bedeutung, insbesondere im Unix-Betriebssystem, wenn Socket-Programmierung verwendet wird, bei der der Port zum Anfordern von systemzugewiesenen dynamischen Ports verwendet wird. Port 0 ist wie ein Platzhalterport, der das System anweist, eine geeignete Portnummer zu finden.

Netzwerkports in TCP und UDP reichen von Nummer Null bis 65535. Portnummern im Bereich zwischen Null und 1023 werden als Systemports oder bekannte Ports definiert. Die Internet Assigned Numbers Authority (IANA) führt eine offizielle Auflistung der beabsichtigten Verwendung dieser Portnummern im Internet, und Systemport 0 darf nicht verwendet werden.

Wie Port 0 in der Netzwerkprogrammierung funktioniert

Für die Konfiguration einer neuen Netzwerk-Socket-Verbindung muss sowohl auf der Quell- als auch auf der Zielseite eine Portnummer zugewiesen werden. Vom Absender (Quelle) gesendete TCP- oder UDP-Nachrichten enthalten beide Portnummern, sodass der Empfänger der Nachricht (Ziel) Antwortnachrichten an den richtigen Protokollendpunkt senden kann.

IANA hat bereits zugewiesene Systemports für grundlegende Internetanwendungen wie Webserver (Port 80) vorab zugewiesen. Viele TCP- und UDP-Netzwerkanwendungen verfügen jedoch nicht über einen eigenen Systemport und müssen bei jedem Start des Betriebssystems eines Geräts einen Port erwerben.

Um die Quellportnummer zuzuweisen, rufen Anwendungen TCP / IP-Netzwerkfunktionen wie bind () auf, um eine anzufordern. Die Anwendung kann eine feste (hartcodierte) Nummer für bind () angeben, wenn sie eine bestimmte Nummer vorziehen möchte. Diese Anforderung kann jedoch fehlschlagen, da eine andere auf dem System ausgeführte Anwendung sie derzeit verwendet.

Alternativ kann Port 0 auch als Verbindungsparameter für bind () angegeben werden. Dadurch wird das Betriebssystem dazu veranlasst, automatisch einen geeigneten verfügbaren Port im dynamischen TCP / IP-Portnummernbereich zu suchen und zurückzugeben.

Beachten Sie, dass der Anwendung nicht tatsächlich Port 0, sondern ein anderer dynamischer Port zugewiesen wird. Der Vorteil dieser Programmierkonvention ist die Effizienz. Anstatt, dass jede Anwendung Code zum Testen mehrerer Ports implementieren und ausführen muss, bis sie einen gültigen erhalten, können sich Apps dazu auf das Betriebssystem verlassen.

Unix, Windows und andere Betriebssysteme unterscheiden sich geringfügig in der Handhabung von Port 0, es gelten jedoch die gleichen allgemeinen Regeln.

Port 0 und Netzwerksicherheit

Netzwerkverkehr, der über das Internet an Hosts gesendet wird, die an Port 0 abgehört werden, kann von Netzwerk-Angreifern oder versehentlich von falsch programmierten Anwendungen generiert werden. Die Antwortnachrichten, die Hosts als Antwort auf Port 0-Verkehr generieren, können Angreifern helfen, mehr über das Verhalten und die potenziellen Netzwerkanfälligkeiten dieser Geräte zu erfahren.

Viele Internet Service Provider (ISPs) blockieren den Datenverkehr an Port 0 - sowohl eingehende als auch ausgehende Nachrichten - und schützen so vor diesen Exploits.