traceroute (או tracert) היא פקודות למחשב המשמשת למציאת הדרך בה עוברת חבילת מידע מאתר אחד למשנהו דרך נתבי תקשורת בפרוטוקול 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, אך העיקרון זהה.


קישורים חיצוניים עריכה

  מדיה וקבצים בנושא Traceroute בוויקישיתוף