Bagaimana cara memilih port TCP / IP default untuk layanan baru?

110

Saat mengembangkan aplikasi yang akan mendengarkan pada port TCP / IP, bagaimana cara memilih port default? Asumsikan bahwa aplikasi ini akan diinstal di banyak komputer, dan menghindari konflik port diinginkan.

Kevin Wong
sumber
1
Ini lebih baik dijawab di sini: stackoverflow.com/questions/10476987/…
matt2000

Jawaban:

49

Buka di sini dan pilih port dengan deskripsiUnassigned

Kevin Wong
sumber
11
Anda menyarankan dia memilih port di bawah 100?
mpen
3
Mana yang harus saya pilih?
Owen
1
Jika semua pengembang menggunakan logika itu, itu berarti bahwa semua layanan baru berkumpul di sekitar beberapa port yang belum ditetapkan. Berapa probabilitasnya bahwa layanan berjalan pada port yang ditetapkan vs port yang tidak ditetapkan. (Maaf jika saya tidak membeberkan beberapa rahasia dagang :)
hultqvist
1
Jika Anda mencari port untuk digunakan pada jaringan internal, harap pertimbangkan jawaban ini untuk pertanyaan serupa: stackoverflow.com/questions/218839/…
adrianwadey
32

Langkah pertama: lihat daftar IANA :

Di sana Anda akan melihat di bagian belakang daftar

"The Dynamic dan / atau Private Ports adalah dari 49152 sampai 65535"

jadi itu akan menjadi taruhan Anda yang lebih baik, tetapi setelah Anda memilih satu, Anda selalu dapat mencari di Google untuk melihat apakah ada aplikasi yang cukup populer yang telah "mengklaim" itu

curug
sumber
8
Tetapi bukankah menggunakan port dinamis membuat saya terbuka untuk konflik port intermiten (meskipun jarang)? Mungkin lebih aman menggunakan port dalam rentang terdaftar yang tidak ditetapkan atau ditetapkan ke aplikasi yang tidak dikenal.
Kevin Wong
4
kecuali jika Anda secara eksplisit mendaftarkan pilihan port Anda dengan IANA, Anda menjalankan kemungkinan konflik yang sama menggunakan "UNASSIGNED" menurut saya. Sebenarnya karena ada banyak yang belum ditetapkan di kelas bawah, itu mungkin akan lebih mungkin IMHO
curangi
2
Selalu mulai dengan rentang yang tidak ditetapkan, dengan opsi port yang dapat dikonfigurasi pengguna / admin untuk menangani kemungkinan konflik. HANYA jika aplikasi Anda mencapai penggunaan luas (pikirkan BitTorrent, atau beberapa penggunaan besar lainnya) jika Anda benar-benar mempertimbangkan untuk mengajukan port yang ditetapkan. Jika tidak, tetap berada di luar kisaran yang ditetapkan. Jika ini untuk sesuatu yang sangat internal / pribadi maka cukup dokumentasikan port yang digunakan oleh berbagai layanan dan Anda akan baik-baik saja selama orang dapat mencarinya di suatu tempat secara online. Pikirkan rentang pribadi / dinamis yang mirip dengan IP yang tidak dapat dirutekan - mereka sempurna untuk penggunaan kecil / pribadi.
jefflunt
3
Hanya saja, jangan membuat kesalahan dengan berasumsi bahwa aplikasi Anda memerlukan port yang ditetapkan IANA karena menurut Anda aplikasi Anda akan meledak dalam penggunaan sebelum benar-benar terjadi. :)
jefflunt
7
Mengenai rentang dinamis, menurut saya pertanyaan "konflik" mungkin menanyakan apakah, jika OS menggunakan rentang tersebut untuk port sementara (sebagaimana mestinya), apakah akan menimbulkan konflik dengan port yang Anda pilih jika OS secara acak memutuskan menggunakan port itu untuk misalnya beberapa koneksi keluar. (Penggunaan acak kisaran ini adalah tujuan port sementara, seperti yang saya pahami.) Lihat pertanyaan lain ini yang menyatakan perhatian secara lebih rinci.
Garret Wilson
7

Jika digunakan secara luas, yang Anda maksud adalah ingin melindungi dari orang lain yang menggunakannya di masa mendatang, Anda dapat mengajukan permohonan untuk menandainya sebagai dicadangkan untuk aplikasi Anda oleh IANA di sini

jj33
sumber
5

Daftar paling lengkap dari nomor port resmi IANA dan nomor port non-resmi yang saya tahu adalah nmap-services .

Thorsten79
sumber
2

Anda mungkin ingin menghindari penggunaan port apa pun dari daftar ini (Wikipedia).

Saya hanya akan memilih satu, dan setelah aplikasi digunakan oleh massa, nomor port akan dikenali dan dimasukkan dalam daftar tersebut.

Mike Mazur
sumber
2

Seperti yang disebutkan orang lain, periksa IANA.

Kemudian periksa sistem lokal Anda / etc / services untuk melihat apakah ada beberapa port khusus yang sudah digunakan.

Dan tolong, jangan hardcode itu. Pastikan itu dapat dikonfigurasi, bagaimanapun, entah bagaimana - jika tidak ada alasan lain Anda ingin memiliki banyak pengembang menggunakan bangunan lokal mereka sendiri pada saat yang bersamaan.

Zathrus
sumber
1

Memilih yang belum ditetapkan dari daftar IANA biasanya sudah cukup, tetapi jika Anda berbicara tentang produk yang dirilis secara komersial, Anda benar-benar harus mendaftar ke IANA untuk mendapatkan satu yang ditetapkan untuk Anda. Perhatikan bahwa proses melakukan ini sederhana tetapi lambat; terakhir kali saya melamar, butuh satu tahun.

Graeme Perrow
sumber
1

Jika ini untuk aplikasi yang Anda harapkan dapat digunakan secara luas, daftarkan nomornya di sini agar tidak ada orang lain yang menggunakannya.

Jika tidak, pilih saja yang tidak digunakan secara acak.

Masalah dengan menggunakan salah satu dalam rentang dinamis adalah bahwa itu mungkin tidak tersedia karena mungkin digunakan untuk nomor port dinamis.

Mark Baker
sumber
-1

Nah, Anda dapat merujuk beberapa nomor port yang umum digunakan di sini dan mencoba untuk tidak menggunakan nomor port orang lain.

Jika yang Anda maksud dengan "terbuka untuk umum secara luas" adalah Anda membuka port pada sistem Anda sendiri, saya akan mengobrol dengan administrator sistem Anda tentang port mana yang mereka rasa nyaman untuk melakukan itu.

Adam Bellaire
sumber
-1

Pilih port default yang tidak mengganggu daemon dan server paling umum. Pastikan juga bahwa nomor port tidak terdaftar sebagai vektor serangan untuk beberapa virus - beberapa perusahaan memiliki kebijakan ketat di mana mereka memblokir port semacam itu apa pun yang terjadi. Last but not least, pastikan nomor port dapat dikonfigurasi.

Alexander
sumber