Qual é o número de porta máximo?

64

Gostaria de definir alguns serviços do Linux para portas não padrão - qual é o maior número de porta válido?

    
por Yehosef 18.01.2010 / 00:53

3 respostas

68

(2 ^ 16) -1, ou 0-65,535 (o -1 é porque a porta 0 é reservada e não está disponí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 os portos não padronizados. 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 strongs. Em outras palavras, as práticas recomendadas de segurança.

    
por 18.01.2010 / 00:58
37

1-65535 estão disponíveis, e portas no intervalo 1-1023 são as privilegiadas : uma aplicação precisa ser executada como root para escutar essas portas.

    
por 18.01.2010 / 00:56
6

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 aqueles que podem não saber, as portas efêmeras são aquelas que estão conectadas localmente para pontos finais remotos (ou algo para esse efeito). Então, se você escrever um serviço TCP que escuta na porta 20001. Você pode estar bem hoje ... e amanhã. Mas um dia seu serviço poderá ser inicializado e tentar se vincular ao 20001 e falhará porque foi considerado uma porta efêmera. Existe uma solução. Você deve ter seu administrador, ou você mesmo, alterar a política de faixa de porta efêmera do sistema em seu servidor. Nos sistemas Linux, isso é feito em duas etapas:

  • dinamicamente
  • permanentemente

Ambos os passos devem ser tomados, você está planejando reinicializar, caso em que a etapa Dinâmica não é necessária. Para definir seu intervalo de até 40000 a 65535, faça o seguinte:

Dinâmica

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 arquivo /etc/sysctl.conf:

net.ipv4.ip_local_port_range = 40000 65535

Para ler a configuração atual ou 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 objetivo do seu servidor. Reduzir demais o intervalo pode levar a outros problemas.

Codificação feliz! (ou o que você fizer)

    
por 13.09.2017 / 17:55