पायथन एक बहुमुखी प्रोग्रामिंग भाषा है जिसका उपयोग आप विभिन्न प्रकार के जीयूआई और सीएलआई-आधारित अनुप्रयोगों को लिखने के लिए कर सकते हैं। यदि आप पायथन के लिए नए हैं, तो मिनी-प्रोजेक्ट पर काम करने की तुलना में आपके सीखने को सुदृढ़ करने का कोई बेहतर तरीका नहीं है।

लिखने के लिए एक महान नमूना पायथन परियोजना एक पिंग स्वीपर है, एक छोटी उपयोगिता जो नेटवर्क होस्ट का निरीक्षण करती है। यह स्क्रिप्ट मूलभूत प्रोग्रामिंग अवधारणाओं को कवर करेगी, जिसमें प्रिंट स्टेटमेंट, लूप और फ़ंक्शन शामिल हैं।

पिंग स्वीपर क्या है?

एक पिंग स्वीपर एक प्रोग्राम है जो एक नेटवर्क पते को इनपुट के रूप में स्वीकार करता है, नेटवर्क में मेजबानों को पिंग करता है, और मृत और जीवित मेजबानों की सूची को आउटपुट करता है। यह आपके नेटवर्क में ऑनलाइन होस्ट की संख्या का अनुमान लगाने और उनके IPv4 पतों का पता लगाने का एक आसान तरीका है।

एक शुरुआत के रूप में, एक पिंग स्वीपर बनाना आपके पायथन बेसिक्स पर ब्रश करने का एक शानदार तरीका है। यह हैंड्स-ऑन मिनी-प्रोजेक्ट आपकी समझ को भी ताज़ा करेगा नेटवर्किंग मूल बातें.

आपके पिंग स्वीपर के लिए आवश्यक शर्तें

instagram viewer

विकास प्रक्रिया शुरू करने से पहले, आपको यह सुनिश्चित करना चाहिए कि आपके पास अपने सिस्टम पर पायथन का नवीनतम संस्करण है।

जांचें कि क्या आप इस कमांड को कमांड प्रॉम्प्ट (विंडोज उपयोगकर्ताओं के लिए) या टर्मिनल (यूनिक्स/लिनक्स सिस्टम के लिए) में टाइप करके और हिट करके पायथन चला सकते हैं। प्रवेश करना:

अजगर --संस्करण

कुछ प्रणालियों पर, आपको चलाने की आवश्यकता हो सकती है:

python3 --संस्करण

यह आदेश आपके सिस्टम पर स्थापित पायथन के संस्करण को वापस कर देगा। यदि यह "पायथन नहीं मिला" जैसी त्रुटि देता है, तो आपको चाहिए Python3 स्थापित करें और फिर निम्न चरणों के साथ आगे बढ़ें।

पिंग स्वीपर की कोडिंग

इस स्क्रिप्ट को बनाने के कई तरीके हैं। कुछ को आपको कई मॉड्यूल स्थापित करने और आयात करने की आवश्यकता होगी। यहां, आप एक न्यूनतम दृष्टिकोण अपनाएंगे जिसमें महत्वपूर्ण के अलावा बाहरी निर्भरताएं नहीं हैं ओएस मॉड्यूल.

कोडिंग शुरू करने से पहले, बेहतर ढंग से समझने के लिए आवश्यकताओं को तोड़ दें कि आपको किस कार्यक्षमता को लागू करने की आवश्यकता होगी। इस लिपि के तीन भाग हैं:

  1. इनपुट आईपी पता स्वीकार करें।
  2. IP पते से नेटवर्क आईडी निकालें।
  3. नेटवर्क में सभी होस्टों पर पुनरावृति करें और यदि कोई होस्ट मृत या जीवित है तो प्रिंट करें।

अब जब आपके पास कार्यप्रवाह की स्पष्ट तस्वीर है तो चलिए प्रोग्रामिंग शुरू करते हैं।

इनपुट को स्वीकार करना और संसाधित करना

स्क्रिप्ट का पहला भाग उपयोगकर्ता से इनपुट स्वीकार करने और उस IPv4 पते को उसके पहले तीन ऑक्टेट तक कम करने से संबंधित है। यह हमें नेटवर्क आईडी देता है:

आयात ओएस

आईपी ​​= इनपुट ("[+] होस्ट आईपी पता दर्ज करें: \ t")
प्रिंट ("[+] "+ आईपी पर पिंग स्वीपर शुरू करना)
डॉट = आईपी.rfind ("।"")
आईपी ​​= आईपी [0:डॉट + 1]

इनपुट () फ़ंक्शन उपयोगकर्ता इनपुट स्वीकार करता है। आप एक स्ट्रिंग का उपयोग कर सकते हैं आरएफइंड () दशमलव बिंदु की अंतिम घटना के सूचकांक को निकालने और इसे में संग्रहीत करने की विधि दूरसंचार विभाग चर। दशमलव बिंदु की सबसे सही घटना तक इनपुट से सब कुछ बरकरार रखते हुए इसका पालन करें।

मेजबानों को स्कैन करना और मेजबान की स्थिति को प्रिंट करना

आपने इनपुट आईपी से नेटवर्क पता प्राप्त किया है। अब आप अंतिम IPv4 ऑक्टेट के लिए सभी संभावित मानों के माध्यम से पुनरावृति कर सकते हैं: 1-254। लूप के अंदर, नए आईपी को इसमें स्टोर करें मेज़बान चर। यह आईपी आधार आईपी है जिसके बाद इटरेटर वैरिएबल का मान होता है। फिर, का उपयोग करें ओएस सिस्टम () चलाने की विधि गुनगुनाहट के खिलाफ आदेश मेज़बान चर।

के लिये मैं में सीमा(1, 255):
होस्ट = आईपी + स्ट्र (i)
प्रतिक्रिया = os.system("पिंग-सी 1 डब्ल्यू 1 "+ होस्ट +" >/dev/null")

यदि प्रतिक्रिया == 0:
प्रिंट (होस्ट + " है यूपी")
वरना:
प्रिंट (होस्ट + " है नीचे")

परीक्षण करें जवाब होस्ट की स्थिति निर्धारित करने और यह तय करने के लिए कि यह ऑनलाइन है या ऑफ़लाइन है, 0 के विरुद्ध मान। यदि पिंग एक अनुत्तरदायी मेजबान का सामना करता है, तो यह एक गैर-शून्य मान देता है। अन्यथा, यह उस होस्ट को इंगित करने के लिए शून्य लौटाता है जिस तक वह पहुंच सकता है।

आप जोड़ सकते हैं सी झंडा और वू ध्वज, मूल पिंग कमांड के लिए 1 के मान के साथ। इससे यह केवल एक पैकेट भेजता है और प्रतिक्रिया प्राप्त करने के लिए एक सेकंड तक प्रतीक्षा करता है। पिंग का आपका संस्करण इन विकल्पों का समर्थन कर भी सकता है और नहीं भी; जाँच करने के लिए पिंग मैन पेज से परामर्श करें।

आपको आउटपुट को इस पर रीडायरेक्ट भी करना चाहिए /dev/null पिंग आउटपुट का विवरण छिपाने के लिए। ध्यान दें कि पिंग और /dev/null सिंटैक्स केवल यूनिक्स या लिनक्स सिस्टम के साथ संगत है। आप इस स्क्रिप्ट को विंडोज पर बदलकर चला सकते हैं सी के साथ झंडा एन तथा >/देव/शून्य साथ > नुल्.

पिंग स्वीपर स्क्रिप्ट चलाना

आप इस स्क्रिप्ट को टर्मिनल में या कमांड प्रॉम्प्ट के माध्यम से चला सकते हैं। टर्मिनल को फायर करें, स्क्रिप्ट के स्थान पर जाएं और इसे python3 के साथ निष्पादित करें:

सीडी /directory/sweeper/
python3 स्वीपर.py

टर्मिनल में एक IPv4 पता या एक सबनेट इनपुट करें, और पिंग स्वीपर को काम करना चाहिए और अपेक्षित आउटपुट वापस करना चाहिए।

पायथन के लिए दिलचस्प परियोजना विचार

प्रोग्रामिंग भाषा सीखने के लिए हैंड्स-ऑन लर्निंग यकीनन सबसे अच्छा और तेज़ तरीका है। आप जितने अधिक प्रोजेक्ट पर काम करेंगे, उतना ही आप अवधारणाओं को समझेंगे, आवश्यक कौशल का निर्माण करेंगे, और समझेंगे कि समस्याओं को कैसे ठीक किया जाए।

यदि आपके पास काम करने के लिए परियोजना विचारों की कमी है, तो पायथन के लिए सर्वोत्तम परियोजना विचारों की इस क्यूरेटेड सूची को देखें।