Generator Port Acak
Detail teknis
Cara Kerja Generator Port Acak
Apa yang Dilakukan Alat Ini
Generator Port Acak memilih satu atau lebih nomor port TCP/UDP dari rentang IANA yang diminta menggunakan crypto.getRandomValues() dengan rejection sampling tanpa bias. Secara default, alat ini menghindari port well-known dan daftar terkurasi port pengembangan yang banyak digunakan (3000, 8080, 5432, 6379, dll.) sehingga nomor yang dihasilkan langsung dapat digunakan untuk layanan lokal baru.
Kasus Penggunaan Umum untuk Developer
Developer yang menjalankan microservice baru, stack docker-compose, atau lingkungan uji sementara menggunakan alat ini untuk memilih port bebas konflik tanpa perlu berpikir. SRE mengalokasikan port untuk layanan internal baru tanpa memindai tabel IANA secara manual. Rentang 'ephemeral' ideal untuk test harness TCP sisi klien yang membutuhkan socket berumur pendek yang sesuai dengan perilaku kernel produksi.
Format Data, Tipe, atau Varian
Tersedia tiga rentang yang telah ditentukan: Well-known (1–1023), Registered / Unprivileged (1024–49151), dan Dynamic / Ephemeral (49152–65535). Setiap nomor yang dihasilkan diberi anotasi klasifikasinya. Daftar avoid-common-ports mencakup HTTP/HTTPS, SSH, port database umum, server dev umum, message queue, dan layanan cache standar.
Kesalahan Umum dan Kasus Tepi
Alokasi port secara acak tidak memeriksa apakah port tersebut benar-benar kosong di mesin Anda — itu memerlukan percobaan bind pada level OS. Daftar 'hindari port umum' bersifat terkurasi, bukan menyeluruh; beberapa default spesifik industri (Cassandra 9042, Elasticsearch 9300, dll.) ditandai, tetapi layanan internal kustom masih bisa bentrok. Buat batch baru jika pilihan pertama berbenturan dengan sesuatu di lokal.
Kapan Menggunakan Alat Ini vs Kode
Gunakan alat browser saat mengonfigurasi layanan sekali pakai atau menulis contoh. Dalam otomasi, lebih baik meminta OS untuk menetapkan port (bind ke port 0 dan baca kembali nilai yang dipilih) — ini menjamin port benar-benar kosong dan menghindari race antara pemilihan acak dan bind.