Generador de ports aleatoris
Detalls tècnics
Com funciona el generador de ports aleatoris
Què fa l’eina
El generador de ports aleatoris tria un o més números de port TCP/UDP de l’interval IANA sol·licitat mitjançant crypto.getRandomValues() amb mostreig per rebuig imparcial. Per defecte evita tant els ports ben coneguts com una llista curada de ports de desenvolupament àmpliament utilitzats (3000, 8080, 5432, 6379, etc.), de manera que els números generats són immediatament utilitzables per a nous serveis locals.
Casos d’ús habituals per a desenvolupadors
Els desenvolupadors que posen en marxa nous microserveis, piles docker-compose o entorns de prova efímers utilitzen l’eina per triar ports sense conflictes sense haver-hi de pensar. Els SRE assignen ports per a nous serveis interns sense escanejar manualment les taules IANA. L’interval «ephemeral» és ideal per a bancs de proves TCP del costat client que necessiten sockets de curta durada que coincideixin amb el comportament del nucli en producció.
Formats, tipus o variants de dades
Hi ha tres intervals predefinits disponibles: Ben coneguts (1–1023), Registrats / No privilegiats (1024–49151) i Dinàmics / Efímers (49152–65535). Cada número generat s’anota amb la seva classificació. La llista d’evitar ports comuns cobreix HTTP/HTTPS, SSH, ports habituals de bases de dades, servidors de desenvolupament comuns, cues de missatges i serveis de memòria cau estàndard.
Errors habituals i casos límit
L’assignació aleatòria de ports no comprova si el port està realment lliure a la teva màquina — això requereix un intent de bind a nivell de sistema operatiu. La llista d’«evitar ports comuns» és curada, no exhaustiva; alguns valors per defecte específics del sector (Cassandra 9042, Elasticsearch 9300, etc.) es marquen, però serveis interns personalitzats encara poden entrar en conflicte. Genera un nou lot si la primera tria entra en conflicte amb alguna cosa local.
Quan utilitzar aquesta eina vs codi
Utilitza l’eina del navegador quan configuris un servei puntual o escriguis un exemple. En automatització, és preferible demanar al sistema operatiu que assigni un port (fer bind al port 0 i llegir el valor triat) — això garanteix que el port està realment lliure i evita qualsevol cursa entre la selecció aleatòria i el bind.