DevToys Web Pro iconDevToys Web Pro블로그
평가하기:
브라우저 확장 프로그램을 사용해 보세요:

무작위 포트 생성기

  • 범위
    개수
    57168Dynamic / Ephemeral
    26622Registered (IANA-assigned)
    63516Dynamic / Ephemeral
    64896Dynamic / Ephemeral
    12413Registered (IANA-assigned)
    기술적 세부 정보

    랜덤 포트 생성기가 작동하는 방식

    도구가 하는 일

    랜덤 포트 생성기는 편향 없는 거부 샘플링과 함께 crypto.getRandomValues()를 사용하여 요청한 IANA 범위에서 하나 이상의 TCP/UDP 포트 번호를 선택합니다. 기본적으로 잘 알려진 포트와 널리 사용되는 개발 포트(3000, 8080, 5432, 6379 등)의 선별된 목록을 모두 피하므로, 생성된 번호를 새 로컬 서비스에 즉시 사용할 수 있습니다.

    개발자들이 흔히 사용하는 사례

    새 마이크로서비스, docker-compose 스택, 또는 일시적인 테스트 환경을 띄우는 개발자는 고민 없이 충돌 없는 포트를 선택하기 위해 이 도구를 사용합니다. SRE는 IANA 표를 수동으로 훑지 않고도 새 내부 서비스에 포트를 할당합니다. '에페메럴' 범위는 운영 커널 동작과 일치하는 수명이 짧은 소켓이 필요한 클라이언트 측 TCP 테스트 하네스에 이상적입니다.

    데이터 형식, 타입 또는 변형

    세 가지 사전 정의된 범위를 사용할 수 있습니다: Well-known(1–1023), Registered / Unprivileged(1024–49151), Dynamic / Ephemeral(49152–65535). 생성된 각 번호에는 해당 분류가 주석으로 표시됩니다. 일반 포트 회피 목록은 HTTP/HTTPS, SSH, 일반적인 데이터베이스 포트, 일반적인 개발 서버, 메시지 큐, 표준 캐시 서비스를 포함합니다.

    흔한 함정과 엣지 케이스

    무작위 포트 할당은 해당 포트가 실제로 머신에서 비어 있는지 확인하지 않습니다 — 이를 위해서는 OS 수준의 bind 시도가 필요합니다. '일반 포트 회피' 목록은 선별된 것이며 완전하지 않습니다. 일부 업계별 기본값(Cassandra 9042, Elasticsearch 9300 등)은 표시되지만, 사용자 정의 내부 서비스는 여전히 충돌할 수 있습니다. 첫 번째 선택이 로컬의 무언가와 충돌하면 새 배치를 다시 생성하세요.

    코드 대신 이 도구를 사용해야 하는 경우

    일회성 서비스를 구성하거나 예제를 작성할 때는 브라우저 도구를 사용하세요. 자동화에서는 OS에 포트 할당을 요청하는 방식(포트 0에 바인드한 뒤 선택된 값을 읽기)을 선호하세요 — 이렇게 하면 포트가 실제로 비어 있음을 보장하고, 무작위 선택과 바인드 사이의 경쟁 상태도 피할 수 있습니다.