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.
# ndd /dev/tcp tcp_smallest_anon_port
32768
# ndd /dev/tcp tcp_largest_anon_port
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:
# ndd /dev/tcp tcp_smallest_nonpriv_port
1024
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:
# tail /etc/services
dtspc 6112/tcp # CDE subprocess control
fs 7100/tcp # Font server
solaris-audit 16162/tcp # Secure remote audit logging
servicetag 6481/udp
servicetag 6481/tcp
wnn6 22273/tcp # Wnn6 jserver
wnn6 22273/udp # Wnn6 jserver
rdc 121/tcp # SNDR server daemon
snmpd 161/udp snmp # Net-SNMP snmp daemon
swat 901/tcp # Samba Web Adm.Tool
4: No debe usar un puerto que ya esté siendo utilizado por un servicio existente. Puede obtener estos con la ejecución:
# netstat -an | grep LISTEN | nawk '{$0=$1;gsub(".*\\.","");print}' | sort -un
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 ...