DevToys Web Pro iconDevToys Web ProBlog
Bewerten Sie uns:
Browser-Erweiterung ausprobieren:

Zufallsport-Generator

  • Bereich
    Anzahl
    25107Registered (IANA-assigned)
    48074Registered (IANA-assigned)
    42788Registered (IANA-assigned)
    45536Registered (IANA-assigned)
    5817Registered (IANA-assigned)
    Technische Details

    Wie der Zufallsport-Generator funktioniert

    Was das Tool macht

    Der Zufallsport-Generator wählt eine oder mehrere TCP/UDP-Portnummern aus dem gewünschten IANA-Bereich mithilfe von crypto.getRandomValues() mit unverzerrtem Rejection Sampling. Standardmäßig vermeidet er sowohl Well-known Ports als auch eine kuratierte Liste weit verbreiteter Entwicklungsports (3000, 8080, 5432, 6379 usw.), sodass die generierten Nummern sofort für neue lokale Dienste nutzbar sind.

    Häufige Anwendungsfälle für Entwickler

    Entwickler, die neue Microservices, docker-compose-Stacks oder kurzlebige Testumgebungen hochfahren, verwenden das Tool, um konfliktfreie Ports zu wählen, ohne nachdenken zu müssen. SREs weisen Ports für neue interne Dienste zu, ohne IANA-Tabellen manuell zu durchsuchen. Der „ephemeral“-Bereich ist ideal für clientseitige TCP-Test-Harnesses, die kurzlebige Sockets benötigen, die dem Verhalten des Produktionskernels entsprechen.

    Datenformate, Typen oder Varianten

    Es sind drei vordefinierte Bereiche verfügbar: Well-known (1–1023), Registered / Unprivileged (1024–49151) und Dynamic / Ephemeral (49152–65535). Jede generierte Nummer wird mit ihrer Klassifizierung versehen. Die Liste „avoid common ports“ umfasst HTTP/HTTPS, SSH, gängige Datenbankports, gängige Dev-Server, Message Queues und Standard-Cache-Dienste.

    Häufige Fallstricke und Sonderfälle

    Die zufällige Portzuweisung prüft nicht, ob der Port auf Ihrer Maschine tatsächlich frei ist — dafür ist ein Bind-Versuch auf Betriebssystemebene erforderlich. Die Liste „avoid common ports“ ist kuratiert, nicht vollständig; einige branchenspezifische Defaults (Cassandra 9042, Elasticsearch 9300 usw.) sind markiert, aber benutzerdefinierte interne Dienste können dennoch kollidieren. Generieren Sie eine neue Auswahl, wenn die erste Wahl mit etwas Lokalem kollidiert.

    Wann dieses Tool statt Code verwenden

    Verwenden Sie das Browser-Tool, wenn Sie einen einmaligen Dienst konfigurieren oder ein Beispiel schreiben. In der Automatisierung ist es besser, das Betriebssystem einen Port zuweisen zu lassen (an Port 0 binden und den gewählten Wert auslesen) — das garantiert, dass der Port tatsächlich frei ist, und vermeidet jedes Race zwischen Zufallsauswahl und Bind.