DevToys Web Pro iconDevToys Web Proব্লগ
আমাদের রেট দিন:
ব্রাউজার এক্সটেনশন ব্যবহার করে দেখুন:

র‌্যান্ডম পোর্ট জেনারেটর

  • পরিসর
    সংখ্যা
    7426Registered (IANA-assigned)
    60396Dynamic / Ephemeral
    24665Registered (IANA-assigned)
    24894Registered (IANA-assigned)
    29698Registered (IANA-assigned)
    প্রযুক্তিগত বিবরণ

    র‌্যান্ডম পোর্ট জেনারেটর কীভাবে কাজ করে

    টুলটি কী করে

    র‌্যান্ডম পোর্ট জেনারেটর অনুরোধকৃত IANA রেঞ্জ থেকে crypto.getRandomValues() এবং unbiased rejection sampling ব্যবহার করে এক বা একাধিক TCP/UDP পোর্ট নম্বর নির্বাচন করে। ডিফল্টভাবে এটি well-known পোর্ট এবং বহুল ব্যবহৃত ডেভেলপমেন্ট পোর্টগুলোর (3000, 8080, 5432, 6379, ইত্যাদি) একটি কিউরেটেড তালিকা এড়িয়ে চলে, যাতে জেনারেট করা নম্বরগুলো নতুন লোকাল সার্ভিসের জন্য সঙ্গে সঙ্গে ব্যবহারযোগ্য হয়।

    ডেভেলপারদের সাধারণ ব্যবহারক্ষেত্র

    নতুন মাইক্রোসার্ভিস, docker-compose স্ট্যাক, বা ephemeral টেস্ট এনভায়রনমেন্ট চালু করা ডেভেলপাররা না ভেবে কনফ্লিক্ট-ফ্রি পোর্ট বেছে নিতে এই টুল ব্যবহার করেন। SRE-রা IANA টেবিল হাতে স্ক্যান না করেই নতুন ইন্টারনাল সার্ভিসের জন্য পোর্ট বরাদ্দ করেন। 'ephemeral' রেঞ্জ ক্লায়েন্ট-সাইড TCP টেস্ট হারনেসের জন্য আদর্শ, যেখানে প্রোডাকশন কার্নেল আচরণের সাথে মিলে এমন স্বল্পস্থায়ী সকেট প্রয়োজন।

    ডেটা ফরম্যাট, টাইপ বা ভ্যারিয়েন্ট

    তিনটি প্রিডিফাইন্ড রেঞ্জ উপলব্ধ: Well-known (1–1023), Registered / Unprivileged (1024–49151), এবং Dynamic / Ephemeral (49152–65535)। প্রতিটি জেনারেট করা নম্বরে তার শ্রেণিবিভাগ উল্লেখ থাকে। avoid-common-ports তালিকাটি HTTP/HTTPS, SSH, সাধারণ ডেটাবেস পোর্ট, সাধারণ ডেভ সার্ভার, মেসেজ কিউ, এবং স্ট্যান্ডার্ড ক্যাশ সার্ভিস কভার করে।

    সাধারণ ভুল ও এজ কেস

    র‌্যান্ডম পোর্ট বরাদ্দ আপনার মেশিনে পোর্টটি সত্যিই ফ্রি কিনা তা চেক করে না — এর জন্য OS-লেভেলের bind attempt প্রয়োজন। 'avoid common ports' তালিকাটি কিউরেটেড, সম্পূর্ণ নয়; কিছু ইন্ডাস্ট্রি-স্পেসিফিক ডিফল্ট (Cassandra 9042, Elasticsearch 9300, ইত্যাদি) ফ্ল্যাগ করা থাকে, তবে কাস্টম ইন্টারনাল সার্ভিস তবুও ক্ল্যাশ করতে পারে। প্রথম পিকটি লোকাল কোনো কিছুর সাথে কনফ্লিক্ট করলে নতুন একটি ব্যাচ জেনারেট করুন।

    কোডের বদলে কখন এই টুল ব্যবহার করবেন

    একবারের সার্ভিস কনফিগার করা বা একটি স্যাম্পল লেখার সময় ব্রাউজার টুলটি ব্যবহার করুন। অটোমেশনে, OS-কে পোর্ট অ্যাসাইন করতে বলা (পোর্ট 0-তে bind করে নির্বাচিত মানটি পড়ে নেওয়া) বেশি ভালো — এতে পোর্টটি সত্যিই ফ্রি থাকা নিশ্চিত হয় এবং র‌্যান্ডম সিলেকশন ও bind-এর মধ্যকার যেকোনো race এড়ানো যায়।