یکی از ابزارهای قدرتمند در سیستم عامل ویندوز برای اشکال زدایی از شبکه دستور tracert میباشد. دستور tracert به شما اجازه میدهد تا مسیر Host مورد نظر خویش را به صورت پلکانی تعقیب کنید و از لینک ها یا دستگاهی که در آن مسیر دچار مشکل شده اند مطلع شوید. دستور tracert همانند دستور ping از پیام Echo Request پروتکل ICMP برای بررسی دستگاه های مسیر تا Host مقصد استفاده میکند.
ابزار یا دستور tracert چگونه کار میکند؟
هنگامیکه از دستور tracert برای بررسی یک Host استفاده میکنید دستور tracert با ارسال بسته ای که مقدار TTL آن عدد 1 است اولین مسیریاب (Default Getaway) را بررسی میکند سپس در صورت برقراری ارتباط، مقدار TTL صفر شده و بسته ارسالی با پیام TTL Time Exceeded و حجم 28 بایت Header به مبدا خود (ارسال کننده بسته) باز میگردد.
اینبار دوباره دستور tracert بسته خود را با فزایش مقدار TTL آن ارسال میکند (TTL 2) تا دومین مسیر یاب (Router) نیز بررسی شود و در صورتیکه مسیریاب دوم هم در دسترس بود مقدار TTL به عدد صفر میرسد (هر Hop فقط یک عدد از مقدار TTL کم میکند) و بسته ارسال شده با پیام TTL Time Exceeded و حجم 28 بایت Header به مبدا خود باز میگردد.
و این فرایند تا جایی ادامه پیدا میکند که دستور tracert به هاست مقصد برسد.

استفاده از دستور tracert
برای استفاده از دستور tracert ابتدا باید وارد محیط خط فرمان ویندوز شوید سپس میتوانید دستور tracert را به همراه آدرس Host یا آدرس IP مورد نظر خود وارد کنید. مثلا برای بررسی مسیر بین سیستم شما تا سایت نووا بلاگ دستور tracert به شکل زیر نوشته میشود:
tracert novablog.ir

همانطور که در تصویر بالا مشاهده میکنید دستور tracert با ارسال پیام ICMP Echo Request به اولین مسیر یاب دسترسی داشتن به آنرا با 1 میلی ثانیه زمان تصدیق نمود. سپس مقدار TTL را یک عدد افزایش داد تا مسیر دوم را بررسی کند و همانطور که میبینید بجای نمایش آدرس IP دستگاه دوم، پیغام Request timed out نمایش داده شده است.
این موضوع به این دلیل میباشد که شرکت ISP مربوطه برای امنیت بیشتر دستگاه خود پروتکل ICMP را مسدود نموده است همچنین برای Device بعدی آن هم به همین صورت فقط پیغام Request timed out نمایش داده شده است. البته در اینجا هر بار مقدار TTL افزایش پیدا میکند تا دستگاه بعدی آن هم بررسی شود.
نکته: توجه کنید زمانیکه فقط با پیغام Request timed out مواجه شدید ارتباط شما از آنجا به بعد به صورت کامل قطع شده است و میتوانید ادامه فرایند اشکال زدایی شبکه را از همان نقطه ای که اولین پیام Request time out را دریافت نموده اید ادامه دهید.
اما زمانیکه دستور tracert پیام Echo Request را به دستگاه چهارم ارسال میکند دسترسی به دستگاه چهارم با نمایش آدرس IP آن تصدیق میشود و سپس این فرایند مرحله به مرحله تا انتها ادامه پیدا کرده تا به سرور سایت نووا رسیده و دسترسی به این سایت نیز تایید میشود.
تبدیل نشدن آدرس IP به Hostname
اگر فکر میکنید زمان بررسی دستور tracert بیش از حد زیاد است یا اینکه نیازی به حل شدن آدرس IP به Hostname ندارید میتوانید از پارامتر -d استفاده کنید. برای مثال:
tracert -d novablog.ir

نکته: توجه کنید زمانیکه از دستور tracert برای بررسی یک دامنه استفاده میکنید اگر Host یا Domain مورد نظر از پروتکل IPv4 و IPv6 استفاده کند و سیستم شما هم به همین صورت باشد دستور tracert همانند دستور ping نسخه IPv6 را در اولویت برای بررسی قرار میدهد.
مشخص نمودن حداکثر تعداد Hop ها در مسیر tracert
با استفاده از پارامتر -h میتوان حداکثر تعداد دستگاههای که میتوانند در مسیر دستور tracert مورد بررسی قرار بگیرند را مشخص نمود. به طور پیشفرض 30 دستگاه توسط دستور tracert بررسی میشوند.
tracert -h 40 orange.com
مشخص نمودن زمان ICMP Time Exceeded
برای مشخص نمود حداکثر زمان پاسخگویی به پیام ICMP Echo Request دستور tracert میتوانید از پارامتر -w استفاده کنید. این زمان به میلی ثانیه میباشد و به صورت پیشفرض عدد آن 4000 میلی ثانیه یا همان 4 ثانیه است. یعنی اگر به آدرسی که در دسترس نباشد پیام ICMP Echo Request ارسال شود حداکثر 4 ثانیه برای دریافت پاسخ از آن صبر میکند و سپس پیام ICMP Time Exceeded را دریافت میکند که در ویندوز به صورت ستاره و Request timed out نمایش داده میشود. برای مثال:
tracert -w 100 -d novablog.ir
مشخص نمودن آدرس مبدا
با استفاده از پارامتر -S حروف بزرگ میتوانید آدرس IP مبدا را مشخص کنید. توجه کنید این پارامتر فقط برای آدرس IPv6 قابل استفاده میباشد. برای مثال:
tracert -S 2a01:5ec0:2025:d131:38d7:d601:af4:6ce7 Cisco.com
انتخاب نوع آدرس IP (نسخه IPv4 یا نسخه IPv6)
برای انتخاب نسخه آدرس IP مثل IPv4 یا آدرس IPv6 میبایست از پارامتر های -4 یا -6 استفاده کنید. مثلا برای بررسی سایت cisco.com با آدرس IPv4 باید از دستور زیر استفاده کنید.
tracert -4 cisco.com
توجه کنید به صورت پیشفرض اگر هر دو نسخه IP روی کارت شبکه سیستم شما و Host مقصد تنظیم شده باشد آدرس IPv6 برای بررسی در اولویت قرار میگرد.
با سلام و خسته نباشی خدمت دوست عزیز
ممنونم بابت آموزشی که گذاشتین، آموزش کاملا کربردی بود
سلام میلاد جان
ممنون از محبتت 🙂
سلام و خسته نباشید
من دامینی دارم که با استفاده از اون به هاستم وصل میشم برای یک اپلیکیشن ، اما چند روزی هست که مشکلی بوجود آمده ، مشکلم این هست که و قتی که با اینترنت ایرانسل میخوام از اپلیکیشن استفاده کنم timeout میده و وقتی میخوام صفحه سایت رو بالا بیارم gateway timeout 504 میده،با اینترنت همراه اول هم مشکلی وجود نداره ، tracert هم به صورت زیر هست :
1 2 ms 2 ms 2 ms 192.168.1.1
2 * * * Request timed out.
3 54 ms 39 ms 29 ms 10.188.107.65
4 33 ms 35 ms 39 ms 10.188.99.69
5 * * * Request timed out.
6 43 ms 39 ms 40 ms 10.188.99.97
7 * * * Request timed out.
8 46 ms 37 ms 39 ms 10.138.99.30
9 45 ms 33 ms 39 ms 10.138.98.6
10 41 ms 36 ms 49 ms 10.21.252.250
11 51 ms 37 ms 61 ms 10.21.21.10
12 38 ms 39 ms 59 ms 10.21.21.10
13 161 ms 137 ms 139 ms 80.81.193.164
14 205 ms * 181 ms 213.239.203.150
15 138 ms 118 ms 117 ms 213.239.245.242
16 136 ms 119 ms 119 ms 88.198.46.60
سلام
خب با این حساب مشکل از ایرانسل :)، این موضوع رو با شرکت هاستینگ تون در میان بزارید.
موفق باشید
با سلام
چگونگي ، ادامه فرایند اشکال زدایی شبکه را از همان نقطه ای که اولین پیام Request time out ، دريافت نموده ايم را
بي زحمت با مثال توضيح دهيد .
سلام خدمت دوستان عزیز
تشکر بابت وبسایت خوبتون
من یه مشکلی دارم…یه برنامه تحت وب تو شبکه داخلی داریم ولی گاهی اوقات سرعت برنامه به شدت کاهش پیدا میکنه….ریموت دسکتاپ هم خیلی بد به سرور وصل میشه…پینگ هم که میگیرم هیچ مشکلی نداره
میشه راهنمایی کنید؟؟؟
سلام
خود وب سرور تون رو بررسی کنید، اگر time دستور ping درسته و مشکلی نداره شاید به صورت local روی همون سرور فشار خاصی وجود داشته باشه، مثلا بکاپ از دیتا میتونه سرعت عملکرد سرور رو تا حد زیادی پایین بیاره، در کل این موارد رو خیلی نمیشه با ثبت نظر حل کرد.
باید دقیق بررسی کرد، موفق باشید