تقنية

hosts في بايثون: هل يحذف طرفي شبكة IPv4 دائمًا؟

الطرفان مشمولان عند 31
حالة 31. [1] [2]

راجع طول البادئة قبل طرح عنوانين. [1] [2]

الخلاصة السريعة

لا؛ عند /31 يشمل hosts عنواني الطرفين. [1] [2]

  • شبكتنا 198.51.100.0/31. [1] [2]
  • الناتج 198.51.100.0 و198.51.100.1. [1] [2]
  • عدد عناوين الشبكة اثنان. [1] [2]
  • عند /30 هنا يعيد hosts العنوانين المنتهيين بـ1 و2. [1] [2]
  • اختبرنا 3.12.14؛ لا نكتشف أجهزة حية. [1] [2]

المثال

from ipaddress import IPv4Network
n=IPv4Network('198.51.100.0/31')
print([str(a) for a in n.hosts()])
print(n.num_addresses)

[1] [2]

الاستثناء

المصدر هنا يجعل hosts عند /31 يمر على الشبكة كاملة. المخرجات ['198.51.100.0', '198.51.100.1'] ثم 2. في شبكة 198.51.100.0/30 يستبعد الطرفين 0 و3. [1] [2]

عنوانان داخليان عند 30
حالة 30. [1] [2]

النطاق

شبكة IPv4 ذات /32 تعيد عنوانها الوحيد. لا ننقل قاعدة IPv4 إلى IPv6 دون مراجعة. هذه عناوين محسوبة من الكائن، لا نتيجة فحص اتصال أو عد أجهزة متصلة. [1] [2]

المراجع

  1. Python 3.12: IPv4Network.hosts
  2. CPython 3.12.14: ipaddress.py
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

للتوسع: بحث عن لغات البرمجة

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.