Tengo el requisito de saber qué puertos de mi máquina Solaris son libres de usar para cualquier tipo de comunicación de red.
Intenté el netstat -a
comando. Pero la información devuelta no dio un resultado convincente de todos los puertos que puedo usar para una nueva aplicación que estoy escribiendo. Agradezco cualquier asistencia brindada a este respecto.
networking
PSam
fuente
fuente
netstat -an
no fue convincente?netstat
debería enumerar todo lo que se está utilizando. Todo lo demás (¡normalmente muchos miles de puertos!) Está disponible.Respuestas:
1: No debe usar puertos anónimos (también conocidos como puertos efímeros) para implementar un servicio UDP o TCP.
Por defecto, estos puertos están en el rango 32768-65535.
2: A menos que su servicio se ejecute como root o tenga el privilegio RBAC requerido, no debe usar un puerto privilegiado. Por defecto, todos los puertos del 1 al 1024 tienen privilegios:
3: A menos que sepa lo que está haciendo, no debe usar un puerto conocido que se espera que ejecute un servicio diferente al que planea. Los puertos conocidos se enumeran en
/etc/services
. p.ej:4: No debe usar un puerto que ya esté siendo utilizado por un servicio existente. Puede obtener estos con la ejecución:
5: Finalmente, no debe usar un puerto utilizado por un servicio actualmente deshabilitado, pero que podría estar habilitado en el futuro. Esta es la parte más difícil de cumplir ...
fuente
Puede usar 1-65,535 puertos en su sistema en los cuales 1024 tienen privilegios de root.
Entonces, en lugar de encontrar el puerto libre, puede obtener una lista de los puertos usados con el siguiente comando
Luego puede usar cualquier puerto del 1-65535, excepto esos puertos.
fuente
netstat
opciones que utiliza no son compatibles con lanetstat
implementación de Solaris .