(2^16)-1 ou 0-65.535 (o -1 é porque a porta 0 está reservada e indisponível). (editado porque o_O Tync me lembrou que não podemos usar a porta 0, e Steve Folly me lembrou que você pediu a porta mais alta, não o número de portas)
Mas você provavelmente está fazendo isso da maneira errada. Há pessoas que argumentam a favor e contra portas não padronizadas. Eu digo que eles são irrelevantes, exceto para o scanner mais casual, e o scanner mais casual pode ser mantido à distância usando software atualizado e técnicas de firewall adequadas, juntamente com senhas fortes. Em outras palavras, as melhores práticas de segurança.
1-65535 estão disponíveis e as portas no intervalo 1-1023 são as privilegiadas : um aplicativo precisa ser executado como root para escutar essas portas.
Embora 1-65535 sejam portas TCP legítimas e é verdade que 1-1023 são para serviços de porta bem conhecidos. Você pode ter problemas aleatórios com seus próprios serviços se eles forem iniciados depois que uma porta efêmera for estabelecida. Para quem não sabe, as portas efêmeras são aquelas que estão conectadas localmente para pontos de extremidade remotos (ou algo nesse sentido). Então, se você escrever um serviço TCP que escute na porta 20001. Você pode estar bem hoje... e amanhã. Mas um dia seu serviço pode iniciar e tentar se conectar a 20001 e falhará porque foi considerado uma porta efêmera. Existe uma solução. Você deve ter seu administrador, ou você mesmo, para alterar a política de intervalo de portas efêmeras do sistema em seu servidor. Nos sistemas linux, isso é feito em duas etapas:
Dinamicamente
Permanentemente
Ambas as etapas devem ser executadas, a menos que você esteja planejando reinicializar (nesse caso, a etapa Dinâmica não é necessária). Para definir seu intervalo de até 40.000 a 65.535, faça o seguinte:
(2^16)-1 ou 0-65.535 (o -1 é porque a porta 0 está reservada e indisponível). (editado porque o_O Tync me lembrou que não podemos usar a porta 0, e Steve Folly me lembrou que você pediu a porta mais alta, não o número de portas)
Mas você provavelmente está fazendo isso da maneira errada. Há pessoas que argumentam a favor e contra portas não padronizadas. Eu digo que eles são irrelevantes, exceto para o scanner mais casual, e o scanner mais casual pode ser mantido à distância usando software atualizado e técnicas de firewall adequadas, juntamente com senhas fortes. Em outras palavras, as melhores práticas de segurança.
1-65535 estão disponíveis e as portas no intervalo 1-1023 são as privilegiadas : um aplicativo precisa ser executado como root para escutar essas portas.
Embora 1-65535 sejam portas TCP legítimas e é verdade que 1-1023 são para serviços de porta bem conhecidos. Você pode ter problemas aleatórios com seus próprios serviços se eles forem iniciados depois que uma porta efêmera for estabelecida. Para quem não sabe, as portas efêmeras são aquelas que estão conectadas localmente para pontos de extremidade remotos (ou algo nesse sentido). Então, se você escrever um serviço TCP que escute na porta 20001. Você pode estar bem hoje... e amanhã. Mas um dia seu serviço pode iniciar e tentar se conectar a 20001 e falhará porque foi considerado uma porta efêmera. Existe uma solução. Você deve ter seu administrador, ou você mesmo, para alterar a política de intervalo de portas efêmeras do sistema em seu servidor. Nos sistemas linux, isso é feito em duas etapas:
Ambas as etapas devem ser executadas, a menos que você esteja planejando reinicializar (nesse caso, a etapa Dinâmica não é necessária). Para definir seu intervalo de até 40.000 a 65.535, faça o seguinte:
Dinâmico
echo 40000 65535 > /proc/sys/net/ipv4/ip_local_port_range
ou
sysctl -w net.ipv4.ip_local_port_range="40000 65535"
Permanente
Adicione o seguinte ao /etc/sysctl.conf:
net.ipv4.ip_local_port_range = 40000 65535
Para ler a configuração atual ou para confirmar a alteração:
/sbin/sysctl net.ipv4.ip_local_port_range
A saída será algo assim:
net.ipv4.ip_local_port_range = 9000 65500
Certifique-se de entender o propósito do seu servidor. Reduzir muito o alcance pode levar a outros problemas.
Boa Codificação! (ou o que quer que você faça)