DevToys Web Pro iconDevToys Web ProБлог
Оценете ни:
Изпробвайте разширението за браузър:

Генератор на случайни портове

  • Диапазон
    Брой
    29763Registered (IANA-assigned)
    62792Dynamic / Ephemeral
    63998Dynamic / Ephemeral
    18833Registered (IANA-assigned)
    7723Registered (IANA-assigned)
    Технически подробности

    Как работи генераторът на случайни портове

    Какво прави инструментът

    Генераторът на случайни портове избира един или повече TCP/UDP портове от заявения IANA диапазон, използвайки crypto.getRandomValues() с безпристрастно rejection sampling. По подразбиране избягва както well-known портовете, така и подбран списък от широко използвани портове за разработка (3000, 8080, 5432, 6379 и т.н.), така че генерираните номера да са веднага използваеми за нови локални услуги.

    Често срещани случаи на употреба от разработчици

    Разработчици, които стартират нови микросервиси, docker-compose стекове или временни тестови среди, използват инструмента, за да изберат портове без конфликти, без да се замислят. SRE екипите разпределят портове за нови вътрешни услуги, без ръчно да преглеждат IANA таблици. Диапазонът „ephemeral“ е идеален за клиентски TCP тестови harness-и, които се нуждаят от краткотрайни сокети, съответстващи на поведението на продукционното ядро.

    Формати на данни, типове или варианти

    Налични са три предварително дефинирани диапазона: Well-known (1–1023), Registered / Unprivileged (1024–49151) и Dynamic / Ephemeral (49152–65535). Всеки генериран номер е анотиран с класификацията си. Списъкът за избягване на често използвани портове обхваща HTTP/HTTPS, SSH, често срещани портове за бази данни, популярни dev сървъри, message queue системи и стандартни cache услуги.

    Често срещани капани и гранични случаи

    Случайното разпределение на портове не проверява дали портът действително е свободен на вашата машина — това изисква опит за bind на ниво ОС. Списъкът „избягвай често използвани портове“ е подбран, но не е изчерпателен; някои индустриално-специфични стойности по подразбиране (Cassandra 9042, Elasticsearch 9300 и т.н.) са маркирани, но персонализирани вътрешни услуги все пак могат да се сблъскат. Генерирайте нова партида, ако първият избор конфликтува с нещо локално.

    Кога да използвате този инструмент вместо код

    Използвайте браузърния инструмент при конфигуриране на еднократна услуга или при писане на пример. При автоматизация предпочитайте да поискате от ОС да назначи порт (bind към порт 0 и прочитане на избраната стойност) — това гарантира, че портът наистина е свободен и избягва всякаква надпревара между случайния избор и bind.