פִּינְג הוא יישום רשת פשוט ונפוץ ביותר, המשמש לבדיקת האם מארח זמין ברשת פרוטוקול האינטרנט (פִּרוֹטוֹקוֹל IP). הוא פועל על ידי שליחת סדרה של הודעות ICMP (פִּרוֹטוֹקוֹל בקרת הודעות האינטרנט) ECHO_REQUEST למארח היעד והמתנה לתגובת חזרה ICMP (או ECHO_RESPONSE).
ניתן להריץ בדיקת פִּינְג כדי לוודא אם המחשב שלך יכול לתקשר עם מחשב אחר (מארח היעד); זה עוזר לך לקבוע:
- האם מארח היעד זמין (פעיל) או לא.
- למדוד את כמות הזמן שנדרש לחבילות להגיע למארח היעד ולחזור אל המחשב שלך (הזמן לתגובה עגולה-למחצה (rtt) בתקשורת עם מארח היעד) ו
- אובדן החבילות מבוטא כאחוז.
הפלט שלו הוא רשימת תגובות ממארח היעד יחד עם הזמן שנדרש לחבילה האחרונה להגיע למארח היעד ולחזור אל המחשב שלך.
הוא מציג גם סיכום סטטיסטי של הבדיקה, שבדרך כלל כולל את מספר החבילות שנשלחו והנקלטו, אחוז האובדן של החבילות; הזמן המינימלי, המקסימלי, הממוצע של הזמן לתגובה עגולה-למחצה, והסטיית תקן של הממוצע (mdev). במקרה שבו בדיקת הפִּינְג נכשלת, תראה הודעות שגיאה כפלט.
דוגמאות לפקודת פינג ב-Linux
במאמר זה, נסביר 12 דוגמאות לפקודת פינג לבדיקת הנגישות של מארח ברשת.
תוכן עניינים
1. פינג לדומיין או כתובת IP
ניתן להריץ בדיקת פינג פשוטה כדי לראות האם המארח היעד www.google.com זמין או לא. ניתן גם להשתמש בכתובת IP במקום השם הדומיין כפי שמוצג.
$ ping www.google.com OR $ ping 172.217.27.196
פלט דוגמה:
ping www.google.com PING www.google.com (172.217.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.01 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.75 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.37 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=4.99 ms ^C --- www.google.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 4.751/5.030/5.373/0.222 ms ...
מתוך תוצאות הפקודה לעיל, ה-פינג היה מוצלח ולא אבדו חבילות. דבר חשוב לשים לב אליו בפלט של בדיקת פינג הוא הזמן בסופו של כל תשובת פינג.
בהנחה שאתה מבצע בדיקת פינג על השרתים שלך, אז הערך כאן חשוב מאוד, תלוי בסוג היישום שאתה מריץ על השרת.
אם, לדוגמה, יש לך אפליקציית אינטרנט שבה בקשת משתמש יחידה מתקבלות כמה שאילתות למסד נתונים כדי לייצר תוצאות בממשק המשתמש, אז זמן פינג נמוך אל השרת הספציפי הוא מעביר יותר נתונים ללא השהייה וההיפך נכון.
2. בקשת פינג Echo
ניתן לציין את מספר ה-ECHO_REQUESTs שישלחו לאחרו כדי שהפקודת פינג תיצא, באמצעות הדגל -c
כפי שמוצג (במקרה זה, הבדיקת פינג תפסיק לאחר שליחת 5 חבילות).
$ ping -c 5 www.google.com PING www.google.com (172.217.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=4.31 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.35 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=4.06 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=5.20 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.41 ms --- www.google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4006ms rtt min/avg/max/mdev = 4.064/4.464/5.195/0.383 ms
3. הגדרת זמן קטיעת הפינג
הדגל -i
מאפשר לך להגדיר מרווחים בשניות בין שליחת כל חבילה, הערך המוגדר כברירת מחדל הוא שנייה אחת.
$ ping -i 3 -c 5 www.google.com PING www.google.com (172.217.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.71 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=6.19 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.39 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=7.34 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.77 ms --- www.google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 12014ms rtt min/avg/max/mdev = 4.768/5.879/7.341/0.863 ms
4. התקפת DoS עם הצפנת Ping ישנה (Ping of Death)
כדי לקבוע את התגובה של הרשת שלך בתנאים של העומס הגבוה, ניתן להפעיל "פינג רב כמותי" ששולח בקשות כמה שיותר מהר, באמצעות המתג -f
. רק משתמש השורש יכול להשתמש באפשרות זו, ובמקרה זה יש להשתמש בפקודת sudo כדי לקבל הרשאות שורש.
$ sudo ping -f www.google.com OR $ sudo ping -f -i 3 www.google.com #specify interval between requests PING www.google.com (172.217.163.36) 56(84) bytes of data. .......................................................................................................................................................................................^C --- www.google.com ping statistics --- 2331 packets transmitted, 2084 received, 10% packet loss, time 34095ms rtt min/avg/max/mdev = 29.096/29.530/61.474/1.417 ms, pipe 4, ipg/ewma 14.633/29.341 ms
5. שידור פינג של רשת מקומית (LAN)
ניתן לאפשר פינג של שידור רחב באמצעות האפשרות -b
, וזה יקבל תגובה מכל כתובת IP המחוברת לרשת ה-LAN שלך.
$ ping -b 192.168.0.0
6. הגדרת ערך TTL של פינג
להגביל את מספר הקפיצות ברשת (TTL – זמן חי) שהבדיקות מעברות, השתמש בדגל -t
. ניתן להגדיר ערך כלשהו בין 1 ל- 255; מערכות ההפעלה השונות מגדירות ברירות מחדל שונות.
כל מסוף שמקבל את החבילה מחסיר לפחות 1 מהספירה ואם הספירה עדיין גדולה מ- 0, המסוף מעביר את החבילה לקפיצה הבאה, אחרת, הוא מבטל את זה ושולח תגובת ICMP בחזרה למחשב שלך.
בדוגמה זו, ערך TTL חרג והבדיקת ping נכשלה, כפי שמוצג בתמונה.
$ ping -t 10 www.google.com

7. הגדרת גודל חבילת Ping
גודל החבילה ברירת המחדל צריך להיות מספיק עבור בדיקת ping, אך ניתן לשנות אותו כדי לעמוד בצרכי הבדיקה המקוריים שלך. ניתן לציין את גודל העומס, במספר הבתים באמצעות האפשרות -s
, שתוביל לגודל כולל של החבילה לערך המסופק פלוס 8 בתים נוספים עבור כותרת ICMP.
$ ping -s 1000 www.google.com
8. הגדרת טעינה מראש של Ping
אם נוספת טעינה מראש, ping שולח מספר זה של חבילות מבלי לחכות למענה. שים לב שרק השורש יכול לבחור בטעינה מראש של יותר מ- 3, אחרת, השתמש בפקודת sudo כדי להשיג הרשאות שורש.
$ sudo ping -l 5 www.google.com
9. הגדרת זמן קצה של Ping
$ ping -W 10 www.google.com
10. הגדר זמן קידום בשניות
כדי להגדיר זמן קידום בשניות, לפני שפקודת הפינג תיצא ללא קשר לכמה חבילות נשלחו או התקבלו, השתמש בדגל -w
.
$ ping -w 5 www.google.com
11. הפעלת חבילות ICMP דיבוג לפינג
האפשרות -d
מאפשרת לך להפעיל את פירוט פרטי החבילה IP לדיבוג כפי שמוצג.
$ ping -d www.google.com
12. פלט מפורט לפינג
ניתן להפעיל פלט מפורט באמצעות דגל -v
, כך:
$ ping -v www.google.com
הערה: פינג לא בהכרח ישמש לבדיקת קישוריות רשת, הוא פשוט מספר לך האם כתובת IP פעילה או לא.
נהוג להשתמש בו ביחד עם תוכנת טרייסראוט, אך, MTR – כלי רפואת רשת מודרני משלב את פונקציונליות של פינג ו־טרייסראוט ומציע מספר תכונות נוספות.
עיבוד הרשת, פיתרון בעיות וניפוי בלינוקס
סיכום
פינג הוא שיטה נפוצה מאוד לפיתרון בעיות בנגישות של מארחים ברשת. במאמר זה, ספקנו 12 דוגמאות לפקודת פינג פרקטיות לבדיקת נגישות של מכשיר רשתי. חלוק את דעתך איתנו דרך טופס ההערות למטה.