Port 0 hat bei der Netzwerkprogrammierung eine besondere Bedeutung, insbesondere im Unix-Betriebssystem, wenn es um die Socket-Programmierung geht, bei der der Port zum Anfordern systemzugewiesener, dynamischer Ports verwendet wird. Port 0 ist ein Wildcard-Port, der das System anweist, eine geeignete Portnummer zu finden.
Im Gegensatz zu den meisten Portnummern ist Port 0 ein reservierter Port in TCP/IP-Netzwerken, was bedeutet, dass er nicht in TCP- oder UDP-Nachrichten verwendet werden sollte. Netzwerkports in TCP und UDP reichen von der Nummer Null bis 65535. Portnummern im Bereich zwischen Null und 1023 werden als nicht kurzlebige Ports, Systemports oder bekannte Ports definiert. Die Internet Assigned Numbers Authority (IANA) unterhält eine offizielle Auflistung der beabsichtigten Nutzung dieser Portnummern im Internet und der Systemport 0 darf nicht verwendet werden.
Wann wurde Google Earth zuletzt aktualisiert?
Funktionsweise von TCP/UDP-Port 0 in der Netzwerkprogrammierung
Jetta Productions / Getty Images
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 Nachrichtenempfänger (Ziel) Antwortnachrichten an den richtigen Protokollendpunkt senden kann.
IANA hat bestimmte Systemports für grundlegende Internetanwendungen wie Webserver vorab zugewiesen (Port 80), aber viele TCP- und UDP-Netzwerkanwendungen verfügen nicht über einen eigenen Systemport und müssen einen von ihrem Gerät beziehen Betriebssystem jedes Mal, wenn sie laufen.
League of Legends kannst du deinen Benutzernamen ändern?
Um die Quellportnummer zuzuweisen, rufen Anwendungen TCP/IP-Netzwerkfunktionen wie bind() auf, um eine anzufordern. Die Anwendung kann bind() eine feste (hartcodierte) Nummer bereitstellen, wenn sie lieber eine bestimmte Nummer anfordern möchte. Eine solche Anfrage kann jedoch fehlschlagen, weil möglicherweise eine andere auf dem System ausgeführte Anwendung sie derzeit verwendet.
Alternativ kann es bind() Port 0 als Verbindungsparameter bereitstellen. Dadurch wird das Betriebssystem veranlasst, automatisch nach einem geeigneten verfügbaren Port im dynamischen TCP/IP-Portnummernbereich zu suchen und diesen zurückzugeben.
Der Anwendung wird nicht Port 0, sondern ein anderer dynamischer Port zugewiesen. Der Vorteil dieser Programmierkonvention ist die Effizienz. Anstatt dass jede Anwendung Code implementiert und ausführt, um mehrere Ports auszuprobieren, bis sie einen gültigen erhält, verlassen sich Apps auf das Betriebssystem.
Unix, Windows und andere Betriebssysteme unterscheiden sich in der Handhabung von Port 0, es gilt jedoch die gleiche allgemeine Konvention.
So wecken Sie Google Assistant auf
Port 0 und Netzwerksicherheit
Netzwerkverkehr, der über das Internet an Hosts gesendet wird, die Port 0 überwachen, kann von Netzwerkangreifern oder versehentlich von falsch programmierten Anwendungen generiert werden. Die Antwortnachrichten, die Hosts als Reaktion auf Port-0-Verkehr generieren, helfen Angreifern, das Verhalten und mögliche Netzwerkschwachstellen dieser Geräte herauszufinden.
Viele Internetanbieter (ISPs) blockieren den Datenverkehr auf Port 0, sowohl eingehende als auch ausgehende Nachrichten, um sich vor diesen Exploits zu schützen.
FAQ- Was sind Portnummern?
Für TCP/IP-Netzwerkverbindungen verwendete Portnummern dienen als Adressinformationen und identifizieren die Absender und Empfänger einer Nachricht. Mit Portnummern können verschiedene Anwendungen im selben Netzwerk gleichzeitig Ressourcen gemeinsam nutzen.
- Wie finde ich Portnummern?
Um die Portnummer einer bestimmten IP-Adresse zu finden, Gehen Sie zur Eingabeaufforderung , Typ netstat -a , dann drücken Eingeben . Sie sehen eine Liste der aktiven TCP-Verbindungen zusammen mit den durch einen Doppelpunkt getrennten IP-Adressen und Portnummern.
- Kann ich eine Verbindung zu Port 0 herstellen?
Nein. Offiziell existiert Port 0 nicht und Sie können keine Verbindung zu ihm herstellen, da es sich um eine ungültige Portnummer handelt. Sie können jedoch ein Internetpaket an und von Port 0 senden, genauso wie Sie es mit einer anderen Portnummer tun würden.