Lors du développement d'une application qui écoutera sur un port TCP/IP, comment procéder pour sélectionner un port par défaut? Supposons que cette application soit installée sur de nombreux ordinateurs et qu'il est souhaitable d'éviter les conflits de port.
Allez ici et choisissez un port avec la description Unassigned
Première étape: regardez liste IANA :
Là, vous verrez à la fin de la liste
"Les ports dynamiques et/ou privés sont ceux de 49152 à 65535"
ce sont donc vos meilleurs paris, mais une fois que vous en avez choisi un, vous pouvez toujours le rechercher sur Google pour voir s'il existe une application suffisamment populaire qui l'a déjà "revendiquée".
Si par largement utilisé, vous voulez dire que vous souhaitez vous protéger contre d'autres personnes l'utilisant à l'avenir, vous pouvez demander à ce qu'il soit marqué comme réservé pour votre application par l'IANA ici
La liste la plus complète de numéros de port IANA officiels et de numéros de port non officiels que je connaisse est nmap-services .
Vous voudrez probablement éviter d'utiliser des ports de cette liste (Wikipedia).
Je voudrais juste en choisir un, et une fois que l'application est utilisée par les masses, le numéro de port sera reconnu et inclus dans ces listes.
Utilisez la liste iana. Téléchargez le fichier csv à partir de:
https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.csv
et utilisez ce script Shell pour rechercher des ports non enregistrés:
for port in {N..M}; do if ! grep -q $port service-names-port-numbers.csv; then echo $port;fi; done;
et mettre 2 nombres au lieu de N et M.
Comme d'autres le mentionnent, vérifiez l'IANA.
Vérifiez ensuite vos systèmes locaux/etc/services pour voir s'il existe déjà des ports personnalisés.
Et s'il vous plaît, ne codez pas en dur. Assurez-vous qu'il est configurable, d'une manière ou d'une autre - si, pour aucune autre raison, vous souhaitez que plusieurs développeurs puissent utiliser leurs propres versions localisées en même temps.
Choisir un produit non attribué dans la liste IANA est généralement suffisant, mais si vous parlez d'un produit commercialisé, vous devez vraiment vous adresser à l'IANA pour en obtenir un qui vous soit attribué. Notez que le processus pour ce faire est simple mais lent; la dernière fois que j'ai posé ma candidature, cela a pris un an.
S'il s'agit d'une application que vous prévoyez d'utiliser largement, enregistrez un nombre ici pour que personne d'autre ne l'utilise.
Sinon, choisissez-en un au hasard.
Le problème avec l'utilisation d'un dans la plage dynamique est qu'il peut ne pas être disponible car il peut être utilisé pour un numéro de port dynamique.
Eh bien, vous pouvez référencer certains numéros de port couramment utilisés ici et essayez de ne pas utiliser ceux de quelqu'un d'autre.
Si par "ouvert au grand public" vous voulez dire que vous ouvrez des ports sur vos propres systèmes, j'aurais une conversation avec vos administrateurs système sur les ports avec lesquels ils se sentent à l'aise de le faire.
Choisissez un port par défaut qui n'interfère pas avec les démons et serveurs les plus courants. Assurez-vous également que le numéro de port n'est pas répertorié comme vecteur d'attaque pour certains virus - certaines entreprises ont des politiques strictes où elles bloquent ces ports, quoi qu'il arrive. Enfin, assurez-vous que le numéro de port est configurable.