Was ist die höchste Portnummer, die man verwenden kann?
Was ist die höchste Portnummer, die man verwenden kann?
Antworten:
Die Portnummer ist eine vorzeichenlose 16-Bit-Ganzzahl, also 65535.
Die größte Portnummer ist eine vorzeichenlose kurze 2 ^ 16-1: 65535
Ein registrierter Port ist ein Port, der von der Internet Corporation für zugewiesene Namen und Nummern (ICANN) einer bestimmten Verwendung zugewiesen wurde. Jeder registrierte Port liegt im Bereich von 1024 bis 49151.
Seit dem 21. März 2001 ist die Registrierungsstelle ICANN; vor dieser Zeit war es IANA.
Ports mit niedrigeren Nummern als die registrierten Ports werden als bekannte Ports bezeichnet. Port mit Nummern, die größer als die der registrierten Ports sind, werden als dynamische und / oder private Ports bezeichnet.
Soweit ich weiß, sollten Sie nur bis zu 49151 verwenden, da ab 49152 bis zu 65535 für kurzlebige Ports reserviert sind
$ cat /proc/sys/net/ipv4/ip_local_port_range
führt zur Ausgabe 32768 61000
. Ich vermute, dass die meisten, wenn nicht alle modernen Netzwerkbetriebssysteme einen bereits verwendeten Port überspringen, wenn ein Port im kurzlebigen Portbereich des Systems verwendet werden soll oder nicht.
Nur eine Fortsetzung der Antwort von Smashery . Der kurzlebige Portbereich (zumindest unter Linux und ich vermute auch andere Unices) ist nicht festgelegt. Dies kann durch Schreiben an gesteuert werden
/proc/sys/net/ipv4/ip_local_port_range
Die einzige Einschränkung (für IANA) besteht darin, dass Ports unter 1024 als bekannte Ports bezeichnet werden. Darüber hinausgehende Ports können kostenlos verwendet werden. Oft werden Sie feststellen, dass Ports unter 1024 auf den Superuser-Zugriff beschränkt sind, glaube ich aus genau diesem Grund.
Gemäß RFC 793 ist der Port ein 16-Bit-Int ohne Vorzeichen.
Dies bedeutet, dass der Bereich zwischen 0 und 65535 liegt.
Innerhalb dieses Bereichs sind die Ports 0 bis 1023 jedoch im Allgemeinen für bestimmte Zwecke reserviert. Ich sage allgemein, weil außer Port 0 normalerweise keine Durchsetzung der 0-1023-Reservierung erfolgt. TCP / UDP- Implementierungen erzwingen normalerweise keine Reservierungen außer 0. Sie können, wenn Sie möchten, den TLS-Port eines Webservers auf Port 80, 25 oder 65535 anstelle des Standards 443 ausführen. Ebenso auch Als Standard, dass SMTP-Server Port 25 überwachen, können Sie ihn auf 80, 443 oder anderen ausführen.
Die meisten Implementierungen reservieren 0 für einen bestimmten Zweck - zufällige Portzuweisung. In den meisten Implementierungen bedeutet "Listen on Port 0" tatsächlich "Es ist mir egal, welchen Port ich verwende, geben Sie mir einfach einen zufälligen, nicht zugewiesenen Port zum Abhören".
Jede Einschränkung bei der Verwendung eines Ports im Bereich von 0 bis 65535, einschließlich 0, kurzlebiger Reservierungsbereich usw., ist implementierungsspezifisch (dh Betriebssystem / Treiber) , jedoch sind alle, einschließlich 0, gültige Ports im RFC 793.
Es hängt davon ab, über welchen Bereich Sie sprechen, aber der Dynamikbereich reicht bis zu 65535 oder 2 ^ 16-1 (16 Bit).
http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
Gültige Nummern für Ports sind: 0 bis 2 ^ 16-1 = 0 bis 65535 Dies
liegt daran, dass eine Portnummer 16 Bit lang ist.
Die Ports sind jedoch unterteilt in:
Bekannte Ports : 0 bis 1023 (wird für Systemdienste verwendet, z. B. HTTP, FTP, SSH, DHCP ...)
Registrierte / Benutzer-Ports : 1024 bis 49151 (Sie können sie für Ihren Server verwenden, aber sein Vorsicht einige bekannte Anwendungen: wie der MSSQL-Server (Microsoft SQL Server Database Management System) oder der Apache Derby Network Server, die bereits aus diesem Bereich stammen, dh es wird nicht empfohlen, den MSSQL-Port Ihrem Server zuzuweisen, da sonst MSSQL ausgeführt wird, dann Ihr Server am meisten wird wahrscheinlich aufgrund eines Portkonflikts nicht ausgeführt)
Dynamische / private Ports : 49152 bis 65535. (wird nicht für die Server verwendet, sondern für die Clients, z. B. im NAT-Dienst)
Bei der Programmierung können Sie für Ihren Server die Nummern 0 bis 65535 verwenden. Sie sollten sich jedoch an die oben genannten Bereiche halten, da sonst einige Systemdienste oder einige Anwendungen aufgrund von Portkonflikten nicht ausgeführt werden.
Überprüfen Sie die Liste der meisten Ports hier: https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers