DevToys Web Pro iconDevToys Web ProBlog
Avalie-nos:
Experimente a extensão do navegador:

Gerador de Porta Aleatória

  • Intervalo
    Quantidade
    43171Registered (IANA-assigned)
    22296Registered (IANA-assigned)
    20927Registered (IANA-assigned)
    11233Registered (IANA-assigned)
    23515Registered (IANA-assigned)
    Detalhes técnicos

    Como funciona o Gerador de Portas Aleatórias

    O Que a Ferramenta Faz

    O Gerador de Portas Aleatórias escolhe um ou mais números de porta TCP/UDP dentro do intervalo IANA solicitado usando crypto.getRandomValues() com amostragem por rejeição sem viés. Por padrão, ele evita tanto portas bem conhecidas quanto uma lista selecionada de portas de desenvolvimento amplamente usadas (3000, 8080, 5432, 6379 etc.), para que os números gerados sejam imediatamente utilizáveis para novos serviços locais.

    Casos de Uso Comuns para Desenvolvedores

    Desenvolvedores que estão iniciando novos microservices, stacks docker-compose ou ambientes de teste efêmeros usam a ferramenta para escolher portas sem conflito sem precisar pensar. SREs alocam portas para novos serviços internos sem escanear manualmente tabelas da IANA. O intervalo "efêmero" é ideal para harnesses de teste TCP do lado do cliente que precisam de sockets de curta duração compatíveis com o comportamento do kernel em produção.

    Formatos de Dados, Tipos ou Variantes

    Há três intervalos predefinidos disponíveis: Bem conhecidas (1–1023), Registradas / Não privilegiadas (1024–49151) e Dinâmicas / Efêmeras (49152–65535). Cada número gerado é anotado com sua classificação. A lista de evitar-portas-comuns cobre HTTP/HTTPS, SSH, portas comuns de bancos de dados, servidores de desenvolvimento comuns, filas de mensagens e serviços padrão de cache.

    Armadilhas Comuns e Casos de Borda

    A alocação aleatória de portas não verifica se a porta está realmente livre na sua máquina — isso exige uma tentativa de bind no nível do sistema operacional. A lista de "evitar portas comuns" é selecionada, não exaustiva; alguns padrões específicos do setor (Cassandra 9042, Elasticsearch 9300 etc.) são sinalizados, mas serviços internos personalizados ainda podem entrar em conflito. Gere um novo lote se a primeira escolha conflitar com algo local.

    Quando Usar Esta Ferramenta vs Código

    Use a ferramenta no navegador ao configurar um serviço pontual ou escrever um exemplo. Em automação, prefira pedir ao sistema operacional para atribuir uma porta (fazer bind na porta 0 e ler o valor escolhido) — isso garante que a porta esteja realmente livre e evita qualquer corrida entre a seleção aleatória e o bind.