Generator för slumpmässiga portar
Tekniska detaljer
Hur slumpportgeneratorn fungerar
Vad verktyget gör
Slumpportgeneratorn väljer ett eller flera TCP/UDP-portnummer från det begärda IANA-intervallet med crypto.getRandomValues() och obiaserad rejection sampling. Som standard undviker den både välkända portar och en kurerad lista över vanligt använda utvecklingsportar (3000, 8080, 5432, 6379, etc.) så att de genererade numren är direkt användbara för nya lokala tjänster.
Vanliga användningsfall för utvecklare
Utvecklare som startar nya mikrotjänster, docker-compose-stackar eller kortlivade testmiljöer använder verktyget för att välja konfliktfria portar utan att behöva tänka. SRE:er tilldelar portar för nya interna tjänster utan att manuellt skanna IANA-tabeller. Det "ephemeral"-intervallet är idealiskt för TCP-testharnesser på klientsidan som behöver kortlivade sockets som matchar produktionskärnans beteende.
Dataformat, typer eller varianter
Tre fördefinierade intervall finns: Well-known (1–1023), Registered / Unprivileged (1024–49151) och Dynamic / Ephemeral (49152–65535). Varje genererat nummer annoteras med sin klassificering. Listan för att undvika vanliga portar täcker HTTP/HTTPS, SSH, vanliga databasportar, vanliga dev-servrar, meddelandeköer och standardiserade cachetjänster.
Vanliga fallgropar och specialfall
Slumpmässig porttilldelning kontrollerar inte om porten faktiskt är ledig på din maskin — det kräver ett bind-försök på OS-nivå. Listan "undvik vanliga portar" är kurerad, inte uttömmande; vissa branschspecifika standarder (Cassandra 9042, Elasticsearch 9300, etc.) flaggas men anpassade interna tjänster kan fortfarande krocka. Generera en ny batch om det första valet krockar med något lokalt.
När du ska använda det här verktyget jämfört med kod
Använd webbläsarverktyget när du konfigurerar en engångstjänst eller skriver ett exempel. I automation, föredra att be operativsystemet att tilldela en port (bind till port 0 och läs tillbaka det valda värdet) — detta garanterar att porten faktiskt är ledig och undviker race mellan slumpval och bind.