فحص عنوان IPv6 داخل البادئة ونطاق CIDR
تجيب أداة فحص بادئة IPv6 عن سؤال دقيق في التوجيه والتحكم في الوصول: هل ينتمي هذا العنوان إلى كتلة CIDR المحددة؟ أدخلوا عنوان IPv6 وبادئة مثل 2001:db8:1234::/48.
شغّل الأداة مجانًا
تقارن الأداة بتات الشبكة العليا، وتعيد نتيجة واضحة بصواب أو خطأ، ثم تعرض الشبكة بعد توحيد صيغتها مع أول عنوان وآخر عنوان فيها. وتعالج الصيغة المختصرة والصيغة الكاملة وصيغة IPv6 التي تتضمن IPv4 بحساب صحيح ودقيق من 128 بت، لذلك لا يحدث تقريب عند الحدود أو عند استخدام أطوال بادئات غير معتادة.
معنى انتماء العنوان إلى بادئة IPv6
تقسم بادئة IPv6 العنوان المكون من 128 بت إلى بتات للشبكة وبتات للمضيف. يحدد الرقم الواقع بعد الشرطة المائلة عدد البتات العليا التي تعرّف الشبكة. فعلى سبيل المثال، تثبت البادئة /48 أول 48 بت وتترك 80 بت متاحة داخل الكتلة. ينتمي العنوان إلى البادئة عندما تتطابق جميع بتات الشبكة الثابتة، بصرف النظر عن طريقة كتابة العنوان. وهذه نقطة مهمة لأن IPv6 يسمح بحذف الأصفار البادئة وضغط سلاسل الأصفار باستخدام ::، ولذلك قد تمثل سلاسل مختلفة ظاهريًا القيمة نفسها. تحول الأداة القيمتين إلى عددين صحيحين دقيقين، وتنشئ القناع الموافق لطول البادئة المطلوب، ثم تقارن البتات التي تحدد الانتماء وحدها. كما تعيد البادئة المدخلة إلى حد الشبكة الحقيقي. إذا أدخلتم 2001:db8:1234:99::1/48 فستظل الشبكة المقارَنة هي 2001:db8:1234::/48. وهكذا تتبع النتيجة قواعد CIDR بدل الاعتماد على مقارنة نصية هشة أو على مقارنة المجموعات المفصولة بنقطتين.
قراءة النتيجة المنطقية ونطاق الشبكة
النتيجة الأساسية هي in_prefix، وهي قيمة منطقية يمكنكم استخدامها مباشرة في الشفرة أو قواعد التحقق أو فحوص التوجيه أو تقارير التدقيق. تعيد الاستجابة كذلك العنوان والبادئة بصيغتهما القياسية، كي تعرفوا بدقة القيم التي جرت مقارنتها. يصف الحقلان first_address وlast_address الحدين المشمولين للشبكة، بينما يعرض matched_network_range الحدين نفسيهما في نطاق موجز سهل القراءة. تظهر هذه الحقول سواء كانت النتيجة صوابًا أم خطأ؛ فعندما تكون خطأ يوضح النطاق الكتلة التي لم يدخلها العنوان. ويكون التعامل مع الحدود دقيقًا: ينتمي أول عنوان وآخر عنوان كلاهما إلى البادئة، لأن IPv6 لا يحجز عنوان بث. تحتوي /128 على عنوان واحد، ولذلك يتساوى حداها، أما /0 فتشمل جميع عناوين IPv6. لا تستخدم الأداة أعداد الفاصلة العائمة، بل تحسب الأقنعة والنطاقات بأعداد صحيحة دقيقة من 128 بت، حتى عندما تتجاوز القيم حد الأعداد الصحيحة الآمنة في JavaScript بفارق كبير.
المدخلات الصحيحة والأخطاء الشائعة
أدخلوا في address عنوان IPv6 مجردًا، وفي prefix شبكة IPv6 يتبعها طول من 0 إلى 128 بعد الشرطة المائلة. تقبل الأداة الصيغة المختصرة مثل 2001:db8::1، والصيغة الموسعة بالكامل، والنهايات التي تدمج IPv4 داخل IPv6 مثل ::ffff:192.0.2.1. وترفض عمدًا المدخلات الملتبسة أو الخارجة عن نطاق المهمة. لا يجوز أن يتضمن address طول بادئة خاصًا به، بينما يجب أن يتضمنه prefix. ولا تعامل قيم IPv4 الخالصة على أنها IPv6. كما تُرفض معرفات النطاق مثل %eth0 لأنها تحدد سياق واجهة وليست جزءًا من العنوان ذي 128 بت. تؤدي المجموعات السداسية العشرية غير الصحيحة، أو تكرار ضغط ::، أو المجموعات الأطول من أربعة أرقام، أو الأطوال الخارجة عن المجال المسموح إلى خطأ إدخال بدل تخمين نتيجة. تفيد هذه الصرامة في الأتمتة، إذ تفشل الإعدادات غير الصحيحة بوضوح قبل أن تتحول إلى قرار خاطئ في قائمة السماح. وفي عمليات التفويض الحساسة، تذكروا أن الانتماء مجرد معلومة واحدة، وطبقوا أيضًا فحوص الهوية والثقة والسياسات الخاصة بكم.
حالات الاستخدام
التحقق من قائمة سماح IPv6
تحققوا من وجود عنوان العميل أو الخدمة داخل كتلة CIDR معتمدة قبل تطبيق سياسة الشبكة.
تشخيص إعدادات التوجيه
تأكدوا من وقوع العنوان ضمن بادئة المسار المتوقعة، وراجعوا الحدود الدقيقة بعد توحيدها عندما لا يقع ضمنها.
فحص بيانات إدارة عناوين IP
قارنوا العناوين المستوردة ببادئات IPv6 المخصصة، وحددوا السجلات الموضوعة في الشبكة الخطأ.
الأسئلة الشائعة
كم تبلغ تكلفة الفحص الواحد؟
تبلغ تكلفة كل طلب API مقدار $0.002. ويمكن إجراء الفحص الحتمي نفسه مجانًا في المتصفح أيضًا.
هل تقبل الأداة عناوين IPv6 المختصرة؟
نعم. تقبل ضغط :: القياسي وحذف الأصفار البادئة، ثم تعيد العنوان بصيغته القياسية وبأحرف صغيرة.
هل يشمل النطاق أول عنوان وآخر عنوان؟
نعم. يشمل النطاق المعروض حديه، ولا يحجز IPv6 عنوان بث في نهاية البادئة.
ماذا يحدث إذا احتوت البادئة على بتات مضيف؟
تُعاد إلى حد الشبكة الحقيقي قبل المقارنة، وتظهر صيغة CIDR الموحدة في النتيجة.
هل يمكن فحص عنوان IPv4؟
لا. هذه القدرة مخصصة لـ IPv6، لكنها تدعم صيغة IPv6 صحيحة تتضمن عنوان IPv4.
هل تعرض النتيجة الخاطئة نطاق الشبكة أيضًا؟
نعم. تعرض الاستجابة نطاق الشبكة المختبر شاملًا حديه، كي تعرفوا سبب وقوع العنوان خارجه.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/ipv6-in-prefix \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"address":"2001:db8:1234::42","prefix":"2001:db8:1234::/48"}'const res = await fetch("https://api.kit.forhosting.com/dev/ipv6-in-prefix", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"address": "2001:db8:1234::42",
"prefix": "2001:db8:1234::/48"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/ipv6-in-prefix",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"address": "2001:db8:1234::42",
"prefix": "2001:db8:1234::/48"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/ipv6-in-prefix", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"address":"2001:db8:1234::42","prefix":"2001:db8:1234::/48"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"address":"2001:db8:1234::42","prefix":"2001:db8:1234::/48"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/ipv6-in-prefix", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"address": "2001:db8:1234::42",
"prefix": "2001:db8:1234::/48"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.ipv6_in_prefix",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |