Gerador de Porta Aleatória
Sorteie portas TCP/UDP aleatórias dentro da faixa efêmera (49152–65535) ou em qualquer intervalo. Evita as portas conhecidas (well-known) reservadas pela IANA. Tudo no navegador.
Faixas IANA
- 0–1023: Well-known (HTTP 80, HTTPS 443, SSH 22…) — reservadas.
- 1024–49151: Registered — atribuídas a apps comuns.
- 49152–65535: Dynamic / Ephemeral — livre para uso temporário.
Escolhendo uma porta TCP/UDP: o que os números significam
Uma porta TCP ou UDP é um inteiro de 16 bits sem sinal — o campo no cabeçalho de transporte tem dois bytes, então valores válidos vão de 0 a 65535. A IANA divide esse espaço em três categorias administrativas. As portas well-known 0–1023 são reservadas para serviços de sistema e exigem privilégios de root ou administrador para bind em sistemas Unix-like: HTTP 80, HTTPS 443, SSH 22, SMTP 25, DNS 53, FTP 21, IMAP 993, POP3 110, Telnet 23. As portas registered 1024–49151 são alocadas pela IANA a aplicações específicas (PostgreSQL 5432, MySQL 3306, MongoDB 27017, Redis 6379, Tomcat 8080, etc.). A faixa dynamic / ephemeral 49152–65535 é destinada a sockets efêmeros do lado cliente quando um host abre uma conexão de saída.
Os sistemas operacionais discordam sobre a faixa ephemeral exata. O Linux usa por padrão 32768–60999 (configurável em /proc/sys/net/ipv4/ip_local_port_range); Windows e macOS/BSD seguem a recomendação da IANA, 49152–65535. A RFC 6056 descreve como os kernels devem randomizar a seleção de porta ephemeral para mitigar ataques TCP off-path como blind reset e sequestro de conexão — problema documentado no paper de Watson (2004) sobre injeção de TCP RST.
Portas perigosas que você nunca deve expor
Algumas portas são varridas constantemente por botnets: 22 (brute force SSH), 23 (Telnet deprecated, ainda comum em IoT), 3389 (RDP do Windows), 445 (SMB — vetor do WannaCry), 6379 (Redis vinha sem autenticação em versões antigas), 27017 (MongoDB ficou anos com "sem auth por padrão" até a 3.6), 5432 (PostgreSQL), 3306 (MySQL), 9200 (Elasticsearch), 11211 (memcached, usado como vetor de amplificação UDP). Nunca faça bind dessas portas em 0.0.0.0 em um host público — coloque atrás de VPN, túnel SSH ou ao menos uma regra de firewall com allow-list.
Por que sortear uma porta aleatória
Desenvolvimento local entra em conflito nos suspeitos de sempre: 3000 (Node.js), 5000 (Flask/AirPlay do macOS), 8000 (Django/http.server do Python), 8080 (Tomcat). Subir dezenas de microsserviços num mesmo laptop vira um tetris de "address already in use". Escolher uma porta aleatória acima de 1024 — idealmente acima de 10000 — elimina esses conflitos e é útil também para fixar uma porta estável para um sidecar de service mesh, uma porta SSH não-trivial, ou uma aplicação self-hosted sem registro na IANA.
Perguntas frequentes
Posso usar qualquer número de porta? A porta 0 é reservada (o kernel a usa como "qualquer porta disponível"), mas qualquer valor de 1 a 65535 é legal. No Linux/macOS/BSD você precisa de root para fazer bind abaixo de 1024; de 1024 em diante qualquer usuário comum pode escutar.
TCP e UDP compartilham os mesmos números de porta? Compartilham o espaço numérico mas vivem em namespaces independentes. Um processo pode fazer bind em TCP/8080 e UDP/8080 simultaneamente sem conflito — o kernel trata como sockets distintos.
Uma porta listening é única por máquina? Sim — um socket listening é identificado unicamente pela tupla (protocolo, IP local, porta local). Dois processos não podem fazer bind da mesma tripla a menos que habilitem explicitamente SO_REUSEPORT.
O gerador evita portas well-known? Sim, quando "Evitar portas reservadas (0–1023)" está marcado a saída fica restrita a ≥ 1024. Sem o checkbox, o sorteio pode cair em qualquer ponto da faixa pedida.
Ferramentas Relacionadas
Gerador de Hora Aleatória
Sorteia horários (HH:MM:SS) dentro de uma janela informada. Útil para preencher escalas e testes.
Gerador de String Base91 Aleatória
Gera uma string aleatória codificada em Base91 (mais compacta que Base64). Útil para chaves curtas.
Cor aleatória com contraste AA garantido
Gere combinações de cores aleatórias que já passam no contraste WCAG AA (4.5:1) para texto e fundo. Crie paletas acessíveis e legíveis sem testar cor a cor.