Comment devrait-on procéder pour choisir un port TCP / IP par défaut pour un nouveau service?

Lors du développement d’une application qui écoute sur un port TCP / IP, comment doit-on procéder pour sélectionner un port par défaut? Supposons que cette application sera installée sur de nombreux ordinateurs et que vous souhaitez éviter les conflits de ports.

Allez ici et choisissez un port avec la description Unassigned

Première étape: regardez la liste IANA :

Là vous verrez à la queue de la liste

“Les ports dynamics 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 y accéder pour voir s’il existe une application assez 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 qui l’utilisent à l’avenir, vous pouvez demander à être marqué comme réservé à votre application par IANA ici

La liste la plus complète des numéros de port officiels IANA et des numéros de port non officiels que je connais est nmap-services .

Vous voulez 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.

Comme d’autres le mentionnent, vérifiez l’IANA.

Ensuite, vérifiez vos systèmes locaux / etc / services pour voir si certains ports personnalisés sont déjà utilisés.

Et s’il vous plaît, ne le codez pas en dur. Assurez-vous qu’il est configurable, d’une manière ou d’une autre, si vous ne souhaitez pas que plusieurs développeurs utilisent simultanément leurs propres versions localisées.

Choisir un numéro non atsortingbué de la liste IANA est généralement suffisant, mais si vous parlez d’un produit commercialisé, vous devez vous adresser à l’IANA pour en obtenir un. Notez que le processus est simple mais lent. la dernière fois que j’en ai demandé un, cela a pris un an.

S’il s’agit d’une application que vous prévoyez d’utiliser largement, enregistrez un numéro ici pour que personne ne l’utilise.

Sinon, choisissez simplement un fichier inutilisé au hasard.

Le problème avec l’utilisation d’une plage dynamic est qu’elle peut ne pas être disponible car elle peut être utilisée pour un numéro de port dynamic.

Utilisez la liste iana. Téléchargez le fichier csv 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.

Eh bien, vous pouvez référencer certains numéros de port couramment utilisés ici et essayer 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, je discuterais avec vos administrateurs système des ports avec lesquels ils sont à l’aise.

Choisissez un nombre qui n’est pas très commun

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 entresockets appliquent des règles ssortingctes pour bloquer ces ports, peu importe le type de virus. Enfin, assurez-vous que le numéro de port est configurable.