Wie sollte man bei der Entwicklung einer App, die einen TCP / IP-Port überwacht, einen Standardport auswählen? Angenommen, diese App wird auf vielen Computern installiert und es ist erwünscht, Portkonflikte zu vermeiden.
Wie sollte man bei der Entwicklung einer App, die einen TCP / IP-Port überwacht, einen Standardport auswählen? Angenommen, diese App wird auf vielen Computern installiert und es ist erwünscht, Portkonflikte zu vermeiden.
Antworten:
Gehen Sie hierher und wählen Sie einen Hafen mit der BeschreibungUnassigned
Erster Schritt: Sehen Sie sich die IANA-Liste an :
Dort sehen Sie am Ende der Liste
"Die dynamischen und / oder privaten Ports sind die von 49152 bis 65535"
Das wären also Ihre besseren Wetten, aber sobald Sie eine ausgewählt haben, können Sie immer darauf googeln, um zu sehen, ob es eine ausreichend beliebte App gibt, die sie bereits "beansprucht" hat
Die umfassendste Liste der offiziellen IANA-Portnummern und nicht offiziellen Portnummern, die ich kenne, ist nmap-services .
Sie möchten wahrscheinlich vermeiden, Ports aus dieser Liste (Wikipedia) zu verwenden.
Ich würde nur eine auswählen, und sobald die App von den Massen verwendet wird, wird die Portnummer erkannt und in solche Listen aufgenommen.
Wie andere erwähnen, überprüfen Sie IANA.
Überprüfen Sie dann Ihre lokalen Systeme / etc / services, um festzustellen, ob bereits einige benutzerdefinierte Ports verwendet werden.
Und bitte, codieren Sie es nicht fest. Stellen Sie sicher, dass es irgendwie konfigurierbar ist - wenn Sie aus keinem anderen Grund möchten, dass mehrere Entwickler gleichzeitig ihre eigenen lokalisierten Builds verwenden.
Die Auswahl eines nicht zugewiesenen Produkts aus der IANA-Liste ist normalerweise ausreichend. Wenn Sie jedoch über ein kommerziell freigegebenes Produkt sprechen, sollten Sie sich wirklich an die IANA wenden, um ein Produkt für Sie zuzuweisen. Beachten Sie, dass dies einfach, aber langsam ist. Das letzte Mal, als ich mich für einen bewarb, dauerte es ein Jahr.
Wenn dies für eine Anwendung ist, von der Sie erwarten, dass sie weit verbreitet ist, registrieren Sie hier eine Nummer , damit sie von niemand anderem verwendet wird.
Andernfalls wählen Sie einfach eine nicht verwendete zufällig aus.
Das Problem bei der Verwendung eines im Dynamikbereich besteht darin, dass es möglicherweise nicht verfügbar ist, da es möglicherweise für eine dynamische Portnummer verwendet wird.
Verwenden Sie die iana-Liste. Laden Sie die CSV-Datei herunter von:
https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.csv
Verwenden Sie dieses Shell-Skript für die Suche nach nicht registrierten Ports:
for port in {N..M}; do if ! grep -q $port service-names-port-numbers.csv; then echo $port;fi; done;
und setze 2 Zahlen anstelle von N und M.
Nun, können Sie einige häufig verwendete Portnummern verweisen hier und versuchen , nicht zu Verwendung von jemand anderem.
Wenn Sie mit "für die breite Öffentlichkeit zugänglich" meinen, dass Sie Ports auf Ihren eigenen Systemen öffnen, würde ich mich mit Ihren Systemadministratoren darüber unterhalten, mit welchen Ports sie sich dabei wohl fühlen.
Wählen Sie eine Nummer, die nicht sehr häufig ist
Wählen Sie einen Standardport, der die gängigsten Daemons und Server nicht beeinträchtigt. Stellen Sie außerdem sicher, dass die Portnummer nicht als Angriffsvektor für einige Viren aufgeführt ist. Einige Unternehmen haben strenge Richtlinien, nach denen sie solche Ports blockieren, egal was passiert. Stellen Sie zu guter Letzt sicher, dass die Portnummer konfigurierbar ist.