Réponses:
(2 ^ 16) -1 ou 0-65 535 (-1 parce que le port 0 est réservé et indisponible). (édité parce que o_O Tync m'a rappelé que nous ne pouvions pas utiliser le port 0, et Steve Folly m'a rappelé que vous aviez demandé le port le plus élevé, pas le nombre de ports)
Mais vous vous en sortez probablement dans le mauvais sens. Il y a des gens qui plaident pour et contre les ports non standard. Je dis qu'ils sont hors de propos, sauf pour les scanners les plus occasionnels, et les scanners les plus occasionnels peuvent être tenus à distance en utilisant un logiciel à jour, des techniques de pare-feu appropriées et des mots de passe sécurisés. En d'autres termes, les meilleures pratiques de sécurité.
Bien que 1-65535 soient des ports TCP légitimes et il est vrai que 1-1023 sont destinés à des services de port bien connus. Vous pouvez rencontrer des problèmes aléatoires avec vos propres services s'ils sont démarrés après l'établissement d'un port éphémère. Pour ceux qui ne le savent peut-être pas, les ports éphémères sont ceux qui sont connectés localement pour des points d'extrémité distants (ou quelque chose du genre). Donc, si vous écrivez un service TCP qui écoute sur le port 20001. Vous pourriez être bon aujourd'hui ... et demain. Mais un jour, votre service peut démarrer et tenter de se connecter à 20001 et il échouera car il a été considéré comme un port éphémère. Il y a une solution. Vous devez demander à votre administrateur ou à vous-même de modifier la stratégie de plage de ports éphémère du système sur votre serveur. Sur les systèmes Linux, cela se fait en deux étapes:
Les deux mesures doivent être prises, inutile de planifier le redémarrage, auquel cas l’étape dynamique n’est pas nécessaire. Pour définir votre plage allant de 40000 à 65535, procédez comme suit:
Dynamique
echo 40000 65535 > /proc/sys/net/ipv4/ip_local_port_range
ou
sysctl -w net.ipv4.ip_local_port_range="40000 65535"
Permanent
Ajoutez les éléments suivants à /etc/sysctl.conf:
net.ipv4.ip_local_port_range = 40000 65535
Pour lire le réglage actuel ou pour confirmer le changement:
/sbin/sysctl net.ipv4.ip_local_port_range
La sortie sera quelque chose comme ça:
net.ipv4.ip_local_port_range = 9000 65500
Assurez-vous de comprendre le but de votre serveur. Réduire la plage trop peut entraîner d'autres problèmes.
Bon codage! (ou quoi que vous fassiez)