اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش چهارم ) 
موارد استفاده از دستور tracert 


عدم امکان ping نمودن يک کامپيوتر موجود در خارج از Gateway پيش فرض . با استفاده از دستور فوق ، می توان کامپيوترها و روترهای موجود در مسير يک بسته اطلاعاتی تا رسيدن به مقصد نهائی را مشاهده نمود . بدين ترتيب امکان مشاهده محلی که از آن نقطه به بعد امکان حرکت بسته اطلاعاتی وجود ندارد ، فراهم می گردد . 
در صورتی که امکان حرکت بسته های اطلاعاتی از مبداء به مقصد وجود نداشته باشد و يا زمان پاسخ دستور ping زمانی نامعقول و طولانی باشد .
آگاهی از محل توقف يک بسته اطلاعاتی در شبکه 
نحوه عملکرد دستور tracert 
دستور فوق از فيلد TTL مربوط به IP در ICMP Echo Request و پيام های ICMP Time Exceeded به منظور تعيين مسير مبداء تا مقصد يک بسته اطلاعاتی استفاده می نمايد . عملکرد اين دستور نيز مشابه ping است و وی نيز از پيام های مبتنی بر ICMP برای يافتن هر يک از دستگاه های موجود در مسير يک بسته اطلاعاتی ، استفاده می نمايد . برای تشخيص مسير حرکت ، به TTL موجود در بسته اطلاعاتی يک مقدار اوليه نسبت داده می شود . TTL ، يک عدد صحيح است که حداکثر تعداد hop ( گره و يا روتر ) را که يک بسته اطلاعاتی در مسير خود با آنان برخورد می نمايد را مشخص می نمايد ( قبل از اين که توسط IP دورانداخته شود ). مقدار TTL در ابتدا يک خواهد بود و هر روتر و دستگاه موجود در مسير بسته اطلاعاتی ، يک واحد به آن اضافه می نمايد .
بدين ترتيب برنامه tracert قادر به دريافت پيام TIME_EXCEEDED ICMP از هر يک از روترها و يا ساير دستگاه های موجود در مسير يک بسته اطلاعاتی می باشد .
شکل زير نحوه عملکرد دستور tracert را نشان می دهد .

همانگونه که در شکل فوق مشاهده می گردد ، کامپيوتر A يک مجموعه از پيام های ICMP ECHO REQUEST را توليد و آنان را برای کامپيوتر B ارسال می نمايد. زمانی که اولين بسته اطلاعاتی ارسال می شود ، مقدار TTL يک خواهد بود و در روتر شماره يک مقدار آن صفر شده و يک پيام TIME_EXCEEDED ICMP ، برای کامپيوتر A ارسال می گردد . کامپيوتر A مجددا" يک بسته اطلاعاتی ICMP ديگر را ارسال می نمايد . ولی اين مرتبه مقدار TTL آن دو در نظر گرفته می شود . در چنين حالتی روتر اول ، بسته اطلاعاتی را عبور داده و يک واحد از مقدار TTL کم می نمايد و آن را برای روتر دوم ارسال می نمايد . ( در اين مقطع مقدار TTL=1 شده است ) . روتر دوم مقدار TTL را بررسی نموده و از آن يک واحد کم خواهد کرد . با توجه به اين که مقدار TTL=0 صفر شده است ، مجددا" يک پيام TIME_EXCEEDED ICMP برای کامپيوتر A ارسال می گردد . زمانی که ICMP ECHO REQUEST به کامپيوتر B می رسد ، وی يک ICMP Echo Reply را برمی گرداند . بدين ترتيب ، کامپيوتر A قادر به تشخيص تعداد hop موجود در مسير خواهد بود. 
استفاده از دستور tracert 
جدول زير گرامر دستور tracert به همراه عملکرد برخی از سوئيچ های متداول آن را نشان می دهد : 
گرامر دستور tracert در ويندوز 
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
عملکرد 
سوئيچ 
نام host را به آدرس IP ترجمه نمی نمايد .
-d حداکثر تعداد hop برای جستجوی مقصد را مشخص می نمايد . 
-h maximum_hops مدت زمان انتظار برای دريافت پاسخ بر حسب ميلی ثانيه را مشخص می نمايد .
-w timeout 
نحوه استفاده از دستور tracert : 
تايپ دستور
خروجی 
C:\>tracert www.google.com
Tracing route to www.google.akadns.net [66.102.11.99] 
over a maximum of 30 hops: 

1 180 ms 170 ms 191 ms x1.y1.z1.w1 
2 201 ms 190 ms 190 ms x2.y2.z2.w2
3 201 ms 180 ms 190 ms x3.y3.z3.w3 
4 * 217.218.96.253 reports: Destination net unreachable. 

Trace complete. 
توضيحات : 

در مواردی که در مسير يک بسته اطلاعاتی مشکل خاصی ايجاد شود و يا پيام ICMP Time Exceeded برگردانده نشود ، در خروجی علامت "ستاره" نشان داده خواهد شد ( در سه ستونی که معمولا" زمان round-trip را نمايش می دهند ) . در چنين مواردی يک پيام Request timed out در قسمت سمت راست نمايش داده می شود .
در برنامه اوليه tracert مقدار پورت در هدر UDP ، يک پورت UNREACHABLE در نظر گرفته می شد . بنابراين زمانی که بسته اطلاعاتی ICMP به مقصد نهائی خود می رسد ، يک پيام ICMP DESTINATION UNREACHABLE توسط کامپيوتر مقصد برگردانده می شود . 
در صورتی که آخرين گره مشاهده شده در خروجی دستور tracert مقصد نهائی باشد ، تمامی گره ها و يا روترهای موجود در مسير نمايش داده شده اند .