traceroute

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
דוגמה לפלט אפשרי

traceroute היא שיטה למציאת הדרך שבה עוברת חבילת מידע מאתר אחד למשנהו דרך נתבי תקשורת בפרוטוקול TCP/IP. היא קיימת כתוכנה במרבית מערכות ההפעלה המסוגלות לעבוד ברשת.

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

במערכות UNIX ו־Linux רבות, הפקודה שמשתמשת בשיטה זו נקראת traceroute. במערכת ההפעלה Windows הפקודה התואמת נקראת tracert.

פעולה[עריכת קוד מקור | עריכה]

הנתיב נמצא על ידי שליחה של הודעות ICMP מסוג Echo Request (סוג 8) אל היעד עם ערכי שדה Time to Live ‏(TTL) נמוכים. כל נתב בדרך אל היעד מפחית את הערך בשדה ה-TTL בזמן שהוא מעביר את ההודעה הלאה. אם הנתב רואה כי ערך השדה הוא אפס, הוא שולח הודעת ICMP (סוג 11) בחזרה אל השולח. השולח מעלה כל פעם את הערך ההתחלתי של ה-TTL (מתחיל מ-1) כך שבסופו של דבר יש בידי השולח רשימה מלאה של כל הנתבים בדרך. השולח מפסיק את פעולת השליחה כאשר מתקבלת תשובת ICMP מסוג Echo Reply (סוג 0) מהיעד עצמו.

ברוב מערכות Unix נהוג לשלוח במקום הודעות ICMP הודעה של UDP, אך העיקרון זהה.