¿Cómo se debe elegir un puerto TCP / IP predeterminado para un nuevo servicio?

StackOverflow https://stackoverflow.com/questions/133879

  •  02-07-2019
  •  | 
  •  

Pregunta

Al desarrollar una aplicación que escuche en un puerto TCP / IP, ¿cómo debería uno seleccionar un puerto predeterminado? Suponga que esta aplicación se instalará en muchas computadoras y que se desea evitar conflictos de puertos.

¿Fue útil?

Solución

Vaya a aquí y elija un puerto con la descripción Sin asignar

Otros consejos

Primer paso: mire listado de IANA :

Allí verá al final de la lista

" Los puertos dinámicos y / o privados son aquellos desde 49152 hasta 65535 "

así que esas serían tus mejores apuestas, pero una vez que elijas una, siempre puedes buscar en Google para ver si hay una aplicación lo suficientemente popular que ya haya "reclamado" lo

Si se usa ampliamente, quiere decir que quiere protegerse contra otras personas que lo usan en el futuro, puede solicitar que IANA lo marque como reservado para su aplicación aquí

La lista más completa de números de puertos oficiales de IANA y números de puertos no oficiales que conozco es nmap-services .

Probablemente desee evitar el uso de puertos de esta lista (Wikipedia).

Simplemente elegiría uno, y una vez que la aplicación sea utilizada por las masas, el número de puerto será reconocido e incluido en dichas listas.

Como otros lo mencionan, verifique la IANA.

Luego, compruebe sus sistemas locales / etc / services para ver si hay algunos puertos personalizados que ya están en uso.

Y por favor, no lo codifiques. Asegúrese de que sea configurable, de alguna manera, de alguna manera, si no es por otra razón que desea poder tener múltiples desarrolladores utilizando sus propias compilaciones localizadas al mismo tiempo.

Usa la lista de iana. Descargue el archivo csv desde:

https: // www .iana.org / asignaciones / nombres-servicio-números-puerto / nombres-servicio-números-puerto.csv

y use este script de shell para buscar puertos no registrados:

for port in {N..M}; do if ! grep -q $port service-names-port-numbers.csv; then echo $port;fi; done;

y pon 2 números en lugar de N y M.

Elegir uno no asignado de la lista de la IANA suele ser suficiente, pero si está hablando de un producto lanzado comercialmente, realmente debe solicitar a la IANA que le asignen uno. Tenga en cuenta que el proceso para hacerlo es simple pero lento; la última vez que solicité uno, me llevó un año.

Si esto es para una aplicación que espera que se use ampliamente, entonces registre un número aquí para que nadie más lo use it.

De lo contrario, simplemente elija uno no utilizado al azar.

El problema con el uso de uno en el rango dinámico es que puede no estar disponible porque se puede usar para un número de puerto dinámico.

Bueno, puede hacer referencia a algunos números de puerto utilizados comúnmente aquí e intentar no usa el de otra persona.

Si por " abierto al público en general " quiere decir que está abriendo puertos en sus propios sistemas, hablaría con los administradores de su sistema sobre con qué puertos se sienten cómodos al hacerlo.

Elija un número que no sea muy common

Elija un puerto predeterminado que no interfiera con los demonios y servidores más comunes. También asegúrese de que el número de puerto no aparezca como un vector de ataque para algunos virus; algunas compañías tienen políticas estrictas en las que bloquean dichos puertos sin importar qué. Por último, pero no menos importante, asegúrese de que el número de puerto sea configurable.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top