"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية التحقق من تضمين عنوان IP في شبكة CIDR الفرعية؟

كيفية التحقق من تضمين عنوان IP في شبكة CIDR الفرعية؟

تم النشر بتاريخ 2024-11-07
تصفح:832

How to Verify IP Address Inclusion in a CIDR Subnet?

التحقق من تضمين عنوان IP في شبكة فرعية لـ CIDR

لتحديد ما إذا كان عنوان IPv4 يقع ضمن شبكة فرعية محددة لـ CIDR، تتضمن الطريقة المباشرة ما يلي: الخطوات التالية:

التحويل إلى أعداد صحيحة طويلة:

  • استخدم الدالة ip2long() لتحويل كل من عنوان IP ونطاق الشبكة الفرعية إلى أعداد صحيحة طويلة.

اشتقاق قناع الشبكة الفرعية:

    إذا لم يتم توفير قناع الشبكة الفرعية بشكل صريح (/xx)، فافترض أن القناع الافتراضي هو /32.
  • احسب قناع الشبكة الفرعية عن طريق تطبيق إزاحة لليسار بمقدار 1 ثانية إلى 32 مطروحًا منها طول القناع.
مقارنة البت:

نفذ عملية AND ثنائية البت بين عدد صحيح طويل لـ IP وقناع الشبكة الفرعية.
  • تحقق مما إذا كانت النتيجة مساوية لعدد صحيح طويل للشبكة الفرعية.
التنفيذ:

تتضمن وظيفة PHP التالية هذا المنطق:

وظيفة cidr_match($ip, $range) { قائمة ($شبكة فرعية، $بت) = تنفجر('/', $range); إذا ($بت === فارغة) { بت $ = 32؛ } $ip = ip2long($ip); $subnet = ip2long($subnet); قناع $ = -1
بيان الافراج أعيد طبع هذه المقالة على: 1729251256 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3