פינג

פעולות PING דרך CMD
פינג הוא יישום השולח חבילת נתונים בפרוטוקול ICMP ממקור מסוים ליעד מסוים ברשת לפי כתובתו. המטרה העיקרית לה היא משמשת היא בחינת תקינות התקשורת בין נקודת המקור לנקודת היעד.

אפשר להשתמש בפינג לאתר אינטרנט ידוע על מנת למצוא האם יש תקשורת לרשת האינטרנט, למשל הפקודה (כמעט בכל מערכת הפעלה בת זמננו):
<div style="text-align: left; direction: ltr; margin-left: 1em;">
ping he.wikipedia.org
</div>
יכולה לשמש לבדיקת התקשורת לאינטרנט מהמחשב האישי. חיסרון של שיטה זו הוא שאתר עלול לא להיות זמין עקב עומס או תקלה טכנית, או שהוא חוסם את אפשרות משלוח הפינג אליו.

ההודעה שהמחשב שולח נקראות ECHO REQUEST ומכונה פינג, והתשובה שהוא מקבל נקראת ECHO RESPONSE ומכונה פונג (pong).

המונח "פינג" הפך לביטוי המייצג בסלנג המחשבי את הקשר ברשת, גם אם לא מדובר בקישור רשת פשוט (למשל דרך חומת אש שכלל איננה מאפשרת משלוח פינג דרכה).

כמו כן מושג נוסף הקשור לפינג הוא לאג. הלאג הוא הזמן העובר משליחת הפינג ועד חזרת תגובת הפינג.
במשחקי רשת וצ'אטי IRC נפוץ השימוש בביטוי זה.

== מבנה ההודעה ==

===ICMP packet===
{| class="wikitable" style="float: right; margin-left: 1.5em; margin-right: 0; margin-top: 0; text-align: center;"
|+ IPv4 Datagram
|-
! 
! scope="col" style="width:110px;"| ביטים 0–7
! scope="col" style="width:110px;"| ביטים 8–15
! scope="col" style="width:110px;"| ביטים 16–23
! scope="col" style="width:110px;"| ביטים 24–31
|- style="background:#e0e0ff;"
! rowspan="5" | Header<br>(20 בתים)
| Version/IHL
| Type of service
| colspan="2" | Length
|- style="background:#e8e8ff;"
| colspan="2" | Identification
| colspan="2" |flags and offset
|- style="background:#e8e8ff;"
| Time To Live (TTL)
| Protocol
| colspan="2" | Header Checksum
|- style="background:#e8e8ff;"
| colspan="4" | Source IP address
|- style="background:#e8e8ff;"
| colspan="4" | Destination IP address
|- style="background:#ffe8e8;"
! rowspan="2" | ICMP Header<br>(8 בתים)
| Type of message
| Code
| colspan="2" | Checksum
|- style="background:#ffe8e8;"
| colspan="4" | Header Data
|- style="background:#ffe8e8;"
!| ICMP Payload<br>(אופציונאלי)
| colspan="4" | Payload Data
|}
{| class="wikitable" style="float: right; margin-left: 1.5em; margin-right: 0; margin-top: 0; text-align: center;"
|+ IPv6 Datagram
|-
! 
! scope="col" style="width:55px;"| ביטים 0–3
! scope="col" style="width:55px;"| ביטים 4–7
! scope="col" style="width:55px;"| ביטים 8–11
! scope="col" style="width:55px;"| ביטים 12–15
! scope="col" style="width:110px;"| ביטים 16–23
! scope="col" style="width:110px;"| ביטים 24–31
|- style="background:#e0e0ff;"
! rowspan="4" | Header<br>(40 בתים)
| Version
| colspan="2" | Traffic Class
| colspan="3" | Flow Label 
|- style="background:#e8e8ff;"
| colspan="4" | Payload Length
| colspan="1" |Next Header
| colspan="1" | Hop Limit
|- style="background:#e8e8ff;"
| colspan="6" style="height:70px;" | Source Address
|- style="background:#e8e8ff;"
| colspan="6" style="height:70px;" | Destination Address
|- style="background:#ffe8e8;"
! rowspan="2" | ICMP6 Header<br>(8 בתים)
| colspan="2" | Type of message
| colspan="2" | Code
| colspan="2" | Checksum
|- style="background:#ffe8e8;"
| colspan="6" | Header Data
|- style="background:#ffe8e8;"
!| ICMP6 Payload<br>(אופציונאלי)
| colspan="6" | Payload Data
|}

מבנה כללי של הודעת ICMP :
* IPv4 Header (בכחול): protocol עם הערך 1 (ICMP) ו Type of Service עם הערך 0.
* IPv6 Header (בכחול): Next Header עם הערך 58 (ICMP6) 
* ICMP Header (באדום):
** Type of ICMP message (8 ביטים)
** Code (8 ביטים)
** שדה Checksum (16 ביטים), מחושב עם חלק ה- ICMP של ה-packet (ה-IP header אינו בשימוש).
** שדה Header Data (32 ביטים), במקרה זה (בקשות ותשובות של ICMP echo), יורכבו ממזהה (16 ביטים) ומספר סידורי (16 ביטים).
* ICMP Payload: payload לסוגי תשובות שונים; עם גודל משתנה, תלוי מימוש. אולם, החלק המכיל את ה- IP וה-ICMP צריך להיות פחות מ- maximum transmission unit של הרשת או להסתכן בפפרגמנטציה network or risk being.

==התקפת פינג==
התקפת פינג היא התקפת מניעת שירות בה שולחים בקשות פינג רבות על מנת להעמיס על השרת ולגרום לסירובו לבקשות משמעותיות יותר. כיום התקפות כאלו נדירות יחסית מכיוון שמרבית השרתים שהותקפו חוסמים את אפשרות הפינג. תקיפה אחרת שהשתמשה בפינג בעבר הוא פינג המוות (Ping Of Death) שניצל באג במימוש הפרוטוקול שאפשר לגרום לקריסתו של מחשב מרחוק באמצעות שליחת רצף חבילות פינג.
<br>

פינג המוות מאפשר גם פריצה של רשתות וירטואליות במתג כאשר המתג מוצף בפינגים הוא מתחיל לתפקד כרכזת, ובכך לבטל את החלוקה לרשתות וירטואליות וכל המידע שהוגדר לא לעבור בין שני מחשבים שאינם באותה רשת, עובר בכל זאת. במתגים מתוחכמים קיימת הגנה מפני התקפות מסוג זה (למשל כיבוי אוטומטי של ה-Port).

==ראו גם==
* מונחים ברשת מחשבים

==קישורים חיצוניים==

* [http://www.faqs.org/rfcs/rfc792.html RFC 792 - Internet Control Message Protocol] - המפרט של ICMP שכולל גם את פינג.
* [http://ftp.arl.army.mil/~mike/ping.html The Story of the PING Program] - באתר של מייק מוס, שכתב את ping המקורית

==הערות שוליים==

קטגוריה:ניהול רשתות
קטגוריה:פקודות יוניקס