DevToys Web Pro iconDevToys Web ProBlog
Évaluez-nous :
Essayez l’extension de navigateur :

Générateur de ports aléatoires

  • Plage
    Nombre
    55296Dynamic / Ephemeral
    15414Registered (IANA-assigned)
    45330Registered (IANA-assigned)
    13340Registered (IANA-assigned)
    34444Registered (IANA-assigned)
    Détails techniques

    Comment fonctionne le générateur de ports aléatoires

    Ce que fait l’outil

    Le générateur de ports aléatoires choisit un ou plusieurs numéros de port TCP/UDP dans la plage IANA demandée en utilisant crypto.getRandomValues() avec un échantillonnage par rejet non biaisé. Par défaut, il évite à la fois les ports bien connus et une liste sélectionnée de ports de développement largement utilisés (3000, 8080, 5432, 6379, etc.), afin que les numéros générés soient immédiatement utilisables pour de nouveaux services locaux.

    Cas d’usage courants pour les développeurs

    Les développeurs qui lancent de nouveaux microservices, des stacks docker-compose ou des environnements de test éphémères utilisent l’outil pour choisir des ports sans conflit sans y réfléchir. Les SRE allouent des ports pour de nouveaux services internes sans parcourir manuellement les tables IANA. La plage « éphémère » est idéale pour des bancs d’essai TCP côté client qui ont besoin de sockets de courte durée correspondant au comportement du noyau en production.

    Formats de données, types ou variantes

    Trois plages prédéfinies sont disponibles : Bien connus (1–1023), Enregistrés / Non privilégiés (1024–49151) et Dynamiques / Éphémères (49152–65535). Chaque numéro généré est annoté avec sa classification. La liste d’évitement des ports courants couvre HTTP/HTTPS, SSH, les ports de bases de données courants, les serveurs de dev courants, les files de messages et les services de cache standard.

    Pièges courants et cas limites

    L’allocation aléatoire de ports ne vérifie pas si le port est réellement libre sur votre machine — cela nécessite une tentative de bind au niveau du système d’exploitation. La liste « éviter les ports courants » est sélectionnée, pas exhaustive ; certains défauts spécifiques à l’industrie (Cassandra 9042, Elasticsearch 9300, etc.) sont signalés, mais des services internes personnalisés peuvent encore entrer en conflit. Générez un nouveau lot si le premier choix entre en conflit avec quelque chose en local.

    Quand utiliser cet outil plutôt que du code

    Utilisez l’outil dans le navigateur lors de la configuration d’un service ponctuel ou de la rédaction d’un exemple. En automatisation, préférez demander au système d’exploitation d’assigner un port (binder sur le port 0 et relire la valeur choisie) — cela garantit que le port est réellement libre et évite toute course entre la sélection aléatoire et le bind.