Risposte:
(2 ^ 16) -1 o 0-65.535 (-1 è perché la porta 0 è riservata e non disponibile). (modificato perché o_O Tync mi ha ricordato che non possiamo usare la porta 0 e Steve Folly mi ha ricordato che hai chiesto la porta più alta, non il numero di porte)
Ma probabilmente stai andando in questo modo nel modo sbagliato. Ci sono persone che discutono a favore e contro le porte non standard. Dico che sono irrilevanti, tranne per lo scanner più casual, e lo scanner più casual può essere tenuto a bada utilizzando un software aggiornato e tecniche di firewall adeguate, insieme a password complesse. In altre parole, le migliori pratiche di sicurezza.
Sebbene 1-65535 siano porte TCP legittime ed è vero che 1-1023 sono per servizi portuali ben noti. È possibile che si verifichino problemi casuali con i propri servizi se vengono avviati dopo che è stata stabilita una porta temporanea. Per coloro che potrebbero non sapere, le porte effimere sono quelle connesse localmente per gli endpoint remoti (o qualcosa in tal senso). Quindi se scrivi un servizio TCP in ascolto sulla porta 20001. Potresti essere bravo oggi ... e domani. Ma un giorno il tuo servizio potrebbe avviarsi e tentare di collegarsi a 20001 e fallirà perché è stato preso come una porta effimera. C'è una soluzione Devi avere il tuo amministratore, o te stesso, modificare la politica dell'intervallo di porte effimere di sistema sul tuo server. Sui sistemi Linux è fatto in due passi:
È necessario eseguire entrambi i passaggi, inutile che si stia pianificando il riavvio, nel qual caso il passaggio dinamico non è necessario. Per impostare l'intervallo da 40000 a 65535, procedi come segue:
Dinamico
echo 40000 65535 > /proc/sys/net/ipv4/ip_local_port_range
o
sysctl -w net.ipv4.ip_local_port_range="40000 65535"
Permanente
Aggiungi quanto segue a /etc/sysctl.conf:
net.ipv4.ip_local_port_range = 40000 65535
Per leggere l'impostazione corrente o per confermare la modifica:
/sbin/sysctl net.ipv4.ip_local_port_range
L'output sarà qualcosa del genere:
net.ipv4.ip_local_port_range = 9000 65500
Assicurati di comprendere lo scopo del tuo server. Ridurre troppo l'intervallo può portare ad altri problemi.
Buona programmazione! (o qualunque cosa tu faccia)