Lors du développement d'une application qui écoutera sur un port TCP/IP, comment devrait-on choisir un port par défaut? Supposons que cette application sera installée sur de nombreux ordinateurs, et que l'on évite les conflits de port.Comment devrait-on choisir un port TCP/IP par défaut pour un nouveau service?
Répondre
Go here et choisir un port avec la description Unassigned
Vous suggérez qu'il choisit un port de moins de 100? – mpen
Lequel dois-je choisir? – Owen
Si tous les développeurs utilisent cette logique, cela signifierait que tous les nouveaux services se rassemblent autour des quelques ports non affectés. Quelle serait la probabilité qu'un service s'exécute sur un port affecté par rapport à un port non affecté? (Désolé si je n'expose pas un secret commercial :) – hultqvist
Première étape: regardez IANA listing:
Vous y verrez à la queue de la liste
« La dynamique et/ou privés Les ports sont ceux de 49152 à 65535 "
alors ce sont vos meilleurs paris, mais une fois que vous en choisissez un, vous pouvez toujours google dessus pour voir s'il y a une application assez populaire hat a déjà "revendiqué" cela
Mais ne pas utiliser un port dynamique me laisser ouvert aux conflits de port intermittents (bien que rares)? Il est peut-être plus sûr d'utiliser un port de la plage enregistrée qui n'est pas affecté ou affecté à une application obscure. –
sauf si vous enregistrez explicitement votre choix de port auprès de l'IANA, vous exécutez les mêmes probabilités de conflit en utilisant un "UNASSIGNED" je pense. En fait, car il ya beaucoup de non affectés dans le bas de gamme, ceux-ci seraient probablement plus susceptibles IMHO – curtisk
Toujours commencer avec la plage non attribuée, avec l'option d'un port configurable utilisateur/admin pour gérer les conflits possibles. SEULEMENT si votre application est largement utilisée (pensez à BitTorrent, ou à un autre usage important), vous devriez vraiment envisager de postuler pour un port assigné. Sinon, restez hors de la plage assignée. Si c'est pour quelque chose strictement interne/personnel alors documentez simplement les ports utilisés par divers services et vous devriez aller bien tant que les gens peuvent les rechercher quelque part en ligne. Pensez à la plage privée/dynamique similaire aux IP non routables - ils sont parfaits pour une utilisation privée ou de petite taille. – jefflunt
Eh bien, vous pouvez référencer quelques numéros de port couramment utilisés here et essayez de ne pas utiliser quelqu'un d'autre. Si par "ouvrir 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 se sentent à l'aise de le faire.
Vous voulez probablement éviter d'utiliser les ports de this list (Wikipedia). Je voudrais juste 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.
La liste la plus complète des numéros de port officiels IANA et les numéros de port non officielles, je le sais nmap-services.
Si par largement utilisé, vous voulez dire que vous voulez protéger contre d'autres personnes qui l'utilisent à l'avenir, vous pouvez demander à avoir marqué comme réservé à votre application par l'IANA here
Le choix d'un un non attribué La liste de l'IANA est généralement suffisante, mais si vous parlez d'un produit publié commercialement, vous devriez vraiment demander à l'IANA de vous en attribuer un. Notez que le processus est simple mais lent; la dernière fois que j'ai postulé, il a fallu un an.
S'il s'agit d'une application que vous prévoyez d'utiliser largement, enregistrez un numéro here pour que personne d'autre ne l'utilise.
Sinon, il suffit de choisir un inutilisé au hasard.
Le problème avec l'utilisation de l'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.
Choisissez un port par défaut qui n'interfère pas avec les démons et les serveurs les plus courants. Assurez-vous également que le numéro de port n'est pas répertorié comme un vecteur d'attaque pour certains virus - certaines entreprises ont des politiques strictes où ils bloquent ces ports, peu importe quoi. Last but not least, assurez-vous que le numéro de port est configurable.
Comme d'autres le mentionnent, vérifiez 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 pas le coder en dur. Assurez-vous qu'il est configurable, d'une façon ou d'une autre - d'une manière ou d'une autre - si vous ne voulez pas que plusieurs développeurs utilisent leurs propres versions localisées en même temps.
IATA? Tu veux dire IANA? – bortzmeyer
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 utiliser ce script shell pour la recherche de ports unregistred:
for port in {N..M}; do if ! grep -q $port service-names-port-numbers.csv; then echo $port;fi; done;
et mis 2 numéros au lieu de N et M.
- 1. Comment ajuster les références par défaut pour un nouveau projet?
- 2. Comment promouvoir un nouveau produit/service?
- 3. Comment choisir un fichier à partir de l'emplacement par défaut et non par codage?
- 4. Comment créer un nouveau port et l'affecter à une imprimante
- 5. Comment trouver un port vide pour démarrer WCF web ServiceHost
- 6. Comment créer un serveur lié avec un port autre que celui par défaut
- 7. VB.net 1.1 Création de port d'imprimante TCPIP avec l'API CreateProcessWithLogon
- 8. Modifier le port par défaut lors de l'enregistrement d'un nouveau serveur SQL 2000
- 9. Modifier le port RMI par défaut (Java)
- 10. Comment choisir les couleurs pour un camembert?
- 11. L'utilisateur par défaut a un identifiant différent par défaut
- 12. Comment puis-je créer un nouveau pool d'applications dans un projet de configuration Web?
- 13. Comment arrêter un service Windows par programme?
- 14. Comment fournissez-vous un type par défaut pour les génériques?
- 15. Comment configurer un commentaire d'archivage par défaut pour CVS?
- 16. Comment modifier un template Xcode par défaut?
- 17. Comment sélectionner un UITableViewCell par défaut?
- 18. TWiki ajouter un nouveau sujet par programme
- 19. Sur localhost, comment puis-je choisir un numéro de port gratuit?
- 20. Comment choisir l'installation Python à exécuter dans un programme PyObjC?
- 21. Suggestions pour choisir un package d'automatisation QA?
- 22. comment ajouter un port au serveur mysql
- 23. Utiliser un FileDialog pour choisir un fichier d'une certaine extension
- 24. Comment choisir un fournisseur Oracle pour l'application .Net?
- 25. Comment écrire un nouveau pilote Linux pour un périphérique i2c?
- 26. Récupère les PropertyDescriptors par défaut pour un type
- 27. Visual Studio peut-il régénérer un fichier Web.config du service WCF avec la configuration par défaut?
- 28. pages Redirect de l'ancien au nouveau site - un par un
- 29. Comment créer un nouveau dossier?
- 30. Faire un double-défaut par défaut dans g77, compilateur Fortran
Ceci est une meilleure réponse ici: http://stackoverflow.com/questions/10476987/best-tcp-port-number-range-for-internal-applications – matt2000