Python היא שפת תכנות רב-תכליתית שבה אתה יכול להשתמש כדי לכתוב סוגים שונים של יישומים מבוססי GUI ו-CLI. אם אתה חדש ב-Python, אין דרך טובה יותר לחזק את הלמידה שלך מאשר לעבוד על מיני-פרויקטים.
פרויקט פייתון נהדר לכתיבה הוא מטאטא פינג, כלי עזר קטן שבודק מארחי רשת. סקריפט זה יכסה מושגי תכנות בסיסיים, כולל הצהרות הדפסה, לולאות ופונקציות.
מהו מטאטא פינג?
מטאטא פינג הוא תוכנית שמקבלת כתובת רשת כקלט, מפצירה את המארחים ברשת ומוציאה את רשימת המארחים המתים והחיים. זוהי דרך קלה להעריך את מספר המארחים המקוונים ברשת שלך ולגלות את כתובות ה-IPv4 שלהם.
בתור מתחיל, יצירת מטאטא פינג היא דרך מצוינת לרענן את היסודות של Python שלך. מיני-פרויקט זה ירענן גם את ההבנה שלך לגבי יסודות הרשת.
תנאים מוקדמים למטאטא הפינג שלך
לפני תחילת תהליך הפיתוח, עליך לוודא שיש לך את הגרסה העדכנית ביותר של Python במערכת שלך.
בדוק אם אתה יכול להפעיל את Python על ידי הקלדת פקודה זו בשורת הפקודה (עבור משתמשי Windows) או במסוף (עבור מערכות UNIX/Linux) ולחיצה על להיכנס:
פיתון --גרסה
במערכות מסוימות, ייתכן שיהיה עליך להפעיל:
python3 --גרסה
פקודה זו אמורה להחזיר את גרסת Python המותקנת במערכת שלך. אם הוא מחזיר שגיאה דומה ל-"python not found", אתה צריך
להתקין Python3 ולאחר מכן המשך עם השלבים הבאים.קידוד ה-Ping Sweeper
ישנן גישות מרובות לבניית סקריפט זה. חלקם ידרשו ממך להתקין ולייבא מספר מודולים. כאן תנקוט בגישה מינימליסטית שאין לה תלות חיצונית מלבד המכריע מודול OS.
לפני שתתחיל בקידוד, פרק את הדרישות כדי להבין טוב יותר איזו פונקציונליות תצטרך ליישם. יש שלושה חלקים לתסריט הזה:
- קבל את כתובת ה-IP הקלט.
- חלץ את מזהה הרשת מכתובת ה-IP.
- חזור על כל המארחים ברשת והדפיס אם המארח מת או חי.
כעת, לאחר שיש לך תמונה ברורה של זרימת העבודה, בואו נתחיל בתכנות.
קבלה ועיבוד הקלט
החלק הראשון של הסקריפט עוסק בקבלת קלט מהמשתמש וצמצום כתובת ה-IPv4 לשלושת האוקטטים הראשונים שלה. זה נותן לנו את מזהה הרשת:
יְבוּא OS
IP = input("[+] הזן את כתובת ה-IP המארח:\t")
print("[+] התחלת פינג מטאטא ב" + IP)
dot = 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 -וו 1 " + מארח + " >/dev/null")
אם תגובה == 0:
הדפס (מארח + " הוא לְמַעלָה")
אַחֵר:
הדפס (מארח + " הוא מטה")
בדוק את תְגוּבָה ערך מול 0 כדי לקבוע את מצב המארח ולהחליט אם הוא מקוון או לא מקוון. אם פינג נתקל במארח שאינו מגיב, הוא מחזיר ערך שאינו אפס. אחרת, הוא מחזיר אפס כדי לציין מארח שאליו הוא יכול להגיע.
אתה יכול להוסיף את ג דגל ו w דגל, עם ערכים של 1, לפקודת הפינג המקורית. זה גורם לו לשלוח רק חבילה אחת ולהמתין שנייה אחת כדי לקבל תגובה. גרסת ה-ping שלך עשויה לתמוך באפשרויות אלה או לא; עיין בדף איש הפינג כדי לבדוק.
אתה צריך גם להפנות את הפלט אל /dev/null כדי להסתיר את הפרטים של פלט הפינג. שים לב שהתחביר ping ו-/dev/null תואם רק למערכות Unix או Linux. אתה יכול להפעיל את הסקריפט הזה ב-Windows על ידי החלפת ה- ג דגל עם נ ו >/dev/null עם > nul.
הפעלת סקריפט Ping Sweeper
אתה יכול להפעיל את הסקריפט הזה בטרמינל או באמצעות שורת פקודה. הפעל מסוף, עבור למיקום של הסקריפט והפעל אותו עם python3:
CD /directory/sweeper/
python3 sweeper.py
הזן כתובת IPv4 או רשת משנה למסוף, וה-ping sweeper אמור להתחיל לעבוד ולהחזיר את הפלט הצפוי.
רעיונות פרויקטים מעניינים עבור Python
למידה מעשית היא ללא ספק הדרך הטובה והמהירה ביותר ללמוד שפת תכנות. ככל שתעבוד על יותר פרויקטים, כך תבין יותר מושגים, תבנה מיומנויות חיוניות ותבין כיצד לתקן בעיות.
אם חסר לך רעיונות לפרויקטים לעבוד עליהם, בדוק את הרשימה האוצרת הזו של רעיונות הפרויקט הטובים ביותר עבור Python.