DevToys Web Pro iconDevToys Web ProBlog
Bedøm os:
Prøv browserudvidelsen:

Generator til tilfældige porte

  • Interval
    Antal
    14100Registered (IANA-assigned)
    38989Registered (IANA-assigned)
    30413Registered (IANA-assigned)
    14788Registered (IANA-assigned)
    31999Registered (IANA-assigned)
    Tekniske detaljer

    Sådan fungerer tilfældig port-generatoren

    Hvad værktøjet gør

    Tilfældig port-generatoren vælger et eller flere TCP/UDP-portnumre fra det ønskede IANA-interval ved hjælp af crypto.getRandomValues() med ubiaiseret rejection sampling. Som standard undgår den både well-known-porte og en kurateret liste over udbredte udviklingsporte (3000, 8080, 5432, 6379 osv.), så de genererede numre kan bruges med det samme til nye lokale services.

    Almindelige anvendelsestilfælde for udviklere

    Udviklere, der starter nye microservices, docker-compose-stacks eller flygtige testmiljøer, bruger værktøjet til at vælge konfliktfrie porte uden at tænke over det. SRE'er tildeler porte til nye interne services uden manuelt at scanne IANA-tabeller. Det 'ephemeral' interval er ideelt til klient-side TCP-testharnesses, der har brug for kortlivede sockets, som matcher produktionskernens adfærd.

    Dataformater, typer eller varianter

    Tre foruddefinerede intervaller er tilgængelige: Well-known (1–1023), Registered / Unprivileged (1024–49151) og Dynamic / Ephemeral (49152–65535). Hvert genereret nummer er annoteret med sin klassifikation. Listen over almindelige porte, der undgås, dækker HTTP/HTTPS, SSH, almindelige databaseporte, almindelige dev-servere, message queues og standard cache-services.

    Almindelige faldgruber og kanttilfælde

    Tilfældig porttildeling tjekker ikke, om porten faktisk er ledig på din maskine — det kræver et OS-niveau bind-forsøg. Listen 'undgå almindelige porte' er kurateret, ikke udtømmende; nogle branchespecifikke standarder (Cassandra 9042, Elasticsearch 9300 osv.) er markeret, men tilpassede interne services kan stadig kollidere. Generér en ny batch, hvis det første valg konflikter med noget lokalt.

    Hvornår du skal bruge dette værktøj vs. kode

    Brug browserværktøjet, når du konfigurerer en engangsservice eller skriver et eksempel. I automatisering bør du foretrække at bede OS'et om at tildele en port (bind til port 0 og læs den valgte værdi tilbage) — det garanterer, at porten faktisk er ledig, og undgår enhver race mellem tilfældig udvælgelse og bind.