GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo seleccionar un número de puerto estático para una aplicación personalizada?

Si no puede predecir el tipo exacto de entorno en el que se ejecutará su aplicación, simplemente no se moleste con esto. Elija cualquier número por encima de 1024 y también hágalo configurable para que el usuario pueda cambiarlo en caso de conflicto con otro servicio/aplicación.

Por supuesto, aún puede evitar puertos muy comunes como 8080 (HTTP alternativo) o 3128 (proxies como squid), 1666 (forzosamente), etc. Puede consultar una lista completa de puertos conocidos aquí, o echar un vistazo a /etc/services .


Si no le importa el número de puerto, y no le importa que cambie cada vez que se ejecuta su programa, simplemente no vincule el puerto antes de escucharlo (o vincule con el puerto 0, si desea vincular una dirección IP específica). En ambos casos, le está diciendo al sistema operativo que elija un puerto libre para usted.

Después de comenzar a escuchar, use getsockname para averiguar qué puerto se eligió. Puede escribirlo en un archivo, mostrarlo en la pantalla, hacer que un niño lo herede a través de fork , etc.


Para una aplicación estática, considere verificar /etc/services para encontrar un puerto que no colisione con nada más que esté usando y que no sea de uso común en otros lugares.

$ tail /etc/services
nimspooler      48001/udp                       # Nimbus Spooler
nimhub          48002/tcp                       # Nimbus Hub
nimhub          48002/udp                       # Nimbus Hub
nimgtw          48003/tcp                       # Nimbus Gateway
nimgtw          48003/udp                       # Nimbus Gateway
com-bardac-dw   48556/tcp                       # com-bardac-dw
com-bardac-dw   48556/udp                       # com-bardac-dw
iqobject        48619/tcp                       # iqobject
iqobject        48619/udp                       # iqobject

Linux
  1. ¿Cómo especificar un autocompletado personalizado para comandos específicos?

  2. Pkexec:¿cómo configurar un tiempo de espera personalizado para Auth_admin_keep al escribir una política de Pkexec?

  3. Linux:¿cómo montar un sistema de archivos remoto especificando un número de puerto?

  4. ¿Cómo configurar el escritorio para una dirección IP estática?

  5. ¿Cómo vincular un dispositivo USB con un nombre estático?

Golpe para bucle

Cómo comprobar los puertos de escucha en Linux (Puertos en uso)

Cómo encontrar el número de puerto de un servicio en Linux

Cómo hacer ping a un número de puerto en Linux

Cómo hacer ping a un número de puerto específico

Cómo:Puerto RDP personalizado en Windows 2012