DevToys Web Pro iconDevToys Web Proالمدونة
قيّمنا:
جرّب إضافة المتصفح:

مولّد منافذ عشوائية

  • نطاق
    العدد
    55917Dynamic / Ephemeral
    44071Registered (IANA-assigned)
    48148Registered (IANA-assigned)
    53293Dynamic / Ephemeral
    6355Registered (IANA-assigned)
    التفاصيل التقنية

    كيف يعمل مولّد المنافذ العشوائية

    ما الذي تفعله الأداة

    يختار مولّد المنافذ العشوائية رقم منفذ واحداً أو أكثر لبروتوكولي TCP/UDP من نطاق IANA المطلوب باستخدام crypto.getRandomValues() مع أخذ عينات بالرفض غير متحيّز. افتراضياً يتجنب كلاً من المنافذ المعروفة وقائمة مُنسَّقة من منافذ التطوير الشائعة الاستخدام (3000 و8080 و5432 و6379 وغيرها) بحيث تكون الأرقام المُولَّدة قابلة للاستخدام فوراً لخدمات محلية جديدة.

    حالات استخدام شائعة للمطورين

    يستخدم المطوّرون الذين يطلقون خدمات مصغّرة جديدة، أو حِزَم docker-compose، أو بيئات اختبار مؤقتة الأداة لاختيار منافذ خالية من التعارض دون تفكير. يخصّص مهندسو موثوقية المواقع (SRE) منافذ لخدمات داخلية جديدة دون فحص جداول IANA يدوياً. ويُعد نطاق "المؤقت" مثالياً لأدوات اختبار TCP من جهة العميل التي تحتاج مقابس قصيرة العمر تطابق سلوك نواة الإنتاج.

    تنسيقات البيانات أو أنواعها أو متغيراتها

    تتوفر ثلاثة نطاقات محددة مسبقاً: المعروفة (1–1023)، والمسجّلة / غير المميّزة (1024–49151)، والديناميكية / المؤقتة (49152–65535). يُعلَّق على كل رقم مُولَّد بتصنيفه. تغطي قائمة تجنّب المنافذ الشائعة HTTP/HTTPS وSSH ومنافذ قواعد البيانات الشائعة وخوادم التطوير الشائعة وطوابير الرسائل وخدمات التخزين المؤقت القياسية.

    المزالق الشائعة والحالات الطرفية

    تخصيص منفذ عشوائي لا يتحقق مما إذا كان المنفذ متاحاً فعلاً على جهازك — فهذا يتطلب محاولة ربط على مستوى نظام التشغيل. قائمة "تجنّب المنافذ الشائعة" مُنسَّقة وليست شاملة؛ يتم تمييز بعض الإعدادات الافتراضية الخاصة بالصناعة (Cassandra 9042 وElasticsearch 9300 وغيرها) لكن قد تظل الخدمات الداخلية المخصصة تتعارض. أنشئ دفعة جديدة إذا تعارض الاختيار الأول مع شيء محلي.

    متى تستخدم هذه الأداة بدلًا من الكود

    استخدم أداة المتصفح عند إعداد خدمة لمرة واحدة أو كتابة مثال. في الأتمتة، يُفضَّل طلب أن يعيّن نظام التشغيل منفذاً (الربط بالمنفذ 0 ثم قراءة القيمة المختارة) — فهذا يضمن أن المنفذ متاح فعلاً ويتجنب أي سباق بين الاختيار العشوائي والربط.