Python هي لغة برمجة متعددة الاستخدامات يمكنك استخدامها لكتابة أنواع مختلفة من التطبيقات المستندة إلى واجهة المستخدم الرسومية (GUI) والتطبيقات المستندة إلى CLI. إذا كنت جديدًا في Python ، فلا توجد طريقة أفضل لتعزيز تعلمك من العمل في مشروعات صغيرة.

نموذج رائع لمشروع Python للكتابة هو ping sweeper ، أداة صغيرة تتفقد مضيفي الشبكة. سيغطي هذا البرنامج النصي مفاهيم البرمجة الأساسية ، بما في ذلك عبارات الطباعة والحلقات والوظائف.

ما هو Ping Sweeper؟

إن برنامج ping sweeper هو برنامج يقبل عنوان الشبكة كمدخل ، ويقوم باختبار اتصال المضيفين في الشبكة ، وإخراج قائمة المضيفين الأحياء. إنها طريقة سهلة لتقدير عدد المضيفين عبر الإنترنت في شبكتك ومعرفة عناوين IPv4 الخاصة بهم.

كمبتدئ ، يعد إنشاء أداة ping sweeper طريقة رائعة لتحسين أساسيات Python الخاصة بك. سيؤدي هذا المشروع العملي الصغير أيضًا إلى تحديث فهمك لـ أساسيات الشبكات.

المتطلبات الأساسية لـ Ping Sweeper

قبل بدء عملية التطوير ، يجب أن تتأكد من أن لديك أحدث إصدار من Python على نظامك.

تحقق مما إذا كان يمكنك تشغيل Python عن طريق كتابة هذا الأمر في موجه الأوامر (لمستخدمي Windows) أو المحطة الطرفية (لأنظمة UNIX / Linux) والضغط على يدخل:

instagram viewer
بيثون - الإصدار

في بعض الأنظمة ، قد تحتاج إلى تشغيل:

python3 - الإصدار

يجب أن يعيد هذا الأمر إصدار Python المثبت على نظامك. إذا أرجع خطأ مشابهًا لخطأ "لم يتم العثور على python" ، فيجب عليك ذلك قم بتثبيت Python3 ثم تابع الخطوات التالية.

ترميز كاسحة بينغ

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

قبل أن تبدأ في البرمجة ، قسّم المتطلبات لفهم الوظائف التي ستحتاج إلى تنفيذها بشكل أفضل. يتكون هذا النص من ثلاثة أجزاء:

  1. اقبل عنوان IP للإدخال.
  2. استخرج معرف الشبكة من عنوان IP.
  3. كرر عبر كل المضيفين في الشبكة واطبع إذا كان المضيف حياً أو ميتاً.

الآن بعد أن أصبحت لديك صورة واضحة لسير العمل ، فلنبدأ في البرمجة.

قبول المدخلات ومعالجتها

يتعامل الجزء الأول من البرنامج النصي مع قبول المدخلات من المستخدم وتقليل عنوان IPv4 هذا إلى أول ثلاث ثماني بتات. هذا يعطينا معرف الشبكة:

يستورد نظام التشغيل

IP = الإدخال ("[+] أدخل عنوان IP للمضيف: \ t")
طباعة ("[+] بدء Ping Sweeper على" + IP)
نقطة = IP.rfind (".")
IP = IP [0: نقطة + 1]

ال الإدخال() وظيفة تقبل مدخلات المستخدم. يمكنك استخدام سلسلة rfind () طريقة لاستخراج فهرس آخر تواجد للفاصلة العشرية وتخزينه في ملف نقطة عامل. قم بمتابعتها عن طريق الاحتفاظ بكل شيء بدءًا من الإدخال حتى حدوث علامة عشرية في أقصى اليمين.

فحص المضيفين وطباعة حالة المضيف

لقد اشتقت عنوان الشبكة من عنوان IP للإدخال. يمكنك الآن تكرار جميع القيم الممكنة لثمانية بتات IPv4 النهائية: 1-254. داخل الحلقة for ، قم بتخزين عنوان IP الجديد في ملف مضيف عامل. عنوان IP هذا هو عنوان IP الأساسي متبوعًا بقيمة متغير المكرر. ثم استخدم ملف os.system () طريقة تشغيل بينغ الأمر ضد مضيف عامل.

إلى عن على أنا في نطاق(1, 255):
المضيف = IP + str (i)
response = os.system ("ping -c 1 -w 1 "+ host +"> / dev / null ")

إذا استجابة == 0:
طباعة (مضيف + " هو فوق")
آخر:
طباعة (مضيف + " هو أسفل")

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

يمكنك إضافة ج العلم و ث علم ، بقيم 1 ، لأمر ping الأصلي. هذا يجعلها ترسل حزمة واحدة فقط وتنتظر ثانية واحدة لتلقي الرد. إصدار ping الخاص بك قد يدعم أو لا يدعم هذه الخيارات ؛ راجع صفحة ping man للتحقق.

يجب عليك أيضًا إعادة توجيه الإخراج إلى /dev/null لإخفاء تفاصيل إخراج اختبار الاتصال. لاحظ أن بناء الجملة ping و / dev / null متوافق مع أنظمة Unix أو Linux فقط. يمكنك تشغيل هذا البرنامج النصي على Windows عن طريق استبدال ملف ج مع العلم ن و > / ديف / فارغة مع > نول.

تشغيل البرنامج النصي Ping Sweeper

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

قرص مضغوط /directory/sweeper/
python3 sweeper.py

أدخل عنوان IPv4 أو شبكة فرعية في الجهاز ، ويجب أن تبدأ أداة مسح البيانات في العمل وتعيد الإخراج المتوقع.

أفكار مشاريع مثيرة للاهتمام لبايثون

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

إذا كان لديك نقص في أفكار المشروع للعمل عليها ، فراجع هذه القائمة المنسقة لأفضل أفكار المشروع لبايثون.