یک سایت بهکندی باز میشود در حالی که همه سایتهای دیگر بیدرنگ بالا میآیند، یا پشتیبانی ارائهدهنده اینترنت از شما میخواهد «یک tracert برایمان بفرستید». هر دو به یک ابزار میرسند. traceroute روترهایی را که ترافیک شما در راه رسیدن به یک سایت از آنها میگذرد نشان میدهد، برای هر روتر یک سطر همراه با زمانی که پاسخ دادنش طول میکشد؛ پس میتوانید تقریباً ببینید اتصال کجا کند میشود یا متوقف میشود.
در ادامه میبینید traceroute چگونه کار میکند، یک اجرای واقعی در ویندوز، فرمان مک و لینوکس، خواندن خروجی، تفاوت ping و traceroute، پیدا کردن جای مشکل و اینکه چرا ردیابی مسیر پروکسی شما را نادیده میگیرد؛ پس از آن یک جدول تصمیم و شش پرسش رایج میآید.
traceroute (tracert) چیست؟
traceroute فرمانی است که مسیری را که ترافیک شما تا کامپیوتری دیگر در اینترنت طی میکند نشان میدهد. میان شما و یک وبسایت زنجیرهای از روترها قرار دارد: روتر خانه شما، چند روتر در شبکه ارائهدهنده اینترنتتان، اغلب چند روتر در شبکههایی که ترافیک را میان ارائهدهندگان جابهجا میکنند، و در پایان شبکه خود سایت. هر روتری که بستههای شما را جلو میفرستد یک هاپ (hop) است.
ویندوز این فرمان را tracert مینامد و مک و لینوکس آن را traceroute. هر دو یک کار را با بستههای آزمایشی کمی متفاوت انجام میدهند. خروجی فهرستی شمارهدار است با یک سطر برای هر هاپ: سه زمان اندازهگیریشده و آدرس روتر، گاهی همراه با یک نام.
یک ردیابی نشان میدهد میان شما و سایت چند هاپ فاصله است، تأخیر کجا بیشتر میشود و پاسخها کجا قطع میشوند. فقط یک جهت را میبیند: پاسخها ممکن است از مسیر دیگری برگردند، و این یکی از دلیلهایی است که زمانها گاهی عجیب به نظر میرسند.
traceroute چگونه کار میکند؟
هر بسته آیپی فیلدی به نام زمان حیات (TTL) دارد؛ شمارندهای که نمیگذارد بستهای که راهش را گم کرده تا ابد در اینترنت بچرخد. هر روتر آن را دستکم یک واحد کم میکند و روتری که آن را صفر ببیند بسته را دور میاندازد. RFC 792، مشخصات ICMP از سال 1981 (Internet Control Message Protocol، پیامهای خطا و وضعیت اینترنت)، پاسخی را که آن روتر برمیگرداند تعریف میکند: «time exceeded» با نوع 11 و کد 0. traceroute همین قاعده ایمنی را به یک نقشه تبدیل میکند:
- TTL برابر 1. کامپیوتر شما یک بسته آزمایشی با TTL برابر 1 میفرستد. روتر خانه آن را به صفر میرساند، بسته را دور میاندازد و «time exceeded» برمیگرداند. پاسخ آدرس روتر را با خود دارد و زمان رفتوبرگشت آن نخستین اندازهگیری است.
- TTL برابر 2. بسته بعدی از روتر اول میگذرد و عمرش در روتر دوم به پایان میرسد؛ روتر دوم هم به همان شکل پاسخ میدهد.
- هر دور یک هاپ جلوتر. هر دور یک واحد به TTL میافزاید و روتر بعدی را آشکار میکند. ویندوز برای هر هاپ سه بسته آزمایشی میفرستد و به همین دلیل در هر سطر سه زمان میبینید.
- مقصد خودش پاسخ میدهد. مقصد مستقیم جواب میدهد: به بستههای ICMP که ویندوز میفرستد با یک پاسخ اکو (echo reply)، و به بستههای UDP که traceroute لینوکس بهطور پیشفرض میفرستد با «port unreachable» (پورت در دسترس نیست). همین پاسخ آخرین سطر است.
- سکوت به ستاره تبدیل میشود. اگر در مدت انتظار، که در ویندوز برای هر بسته چهار ثانیه است، پاسخی نرسد، ابزار
*چاپ میکند و جلو میرود. ویندوز پس از 30 هاپ دست میکشد.
مرجع tracert در سایت مایکروسافت همین روند را شرح میدهد، از جمله روترهایی که هرگز «time exceeded» نمیفرستند و فقط به شکل یک سطر ستاره دیده میشوند. IPv6 هم همینطور کار میکند؛ آنجا به این شمارنده حد هاپ (hop limit) میگویند.
tracert را در ویندوز چگونه اجرا کنیم؟
tracert را در Command Prompt (خط فرمان) اجرا میکنید و به دسترسی مدیر سیستم (administrator) نیاز ندارد.
- در کادر Search (جستوجو) روی نوار وظیفه
cmdرا تایپ کنید و Command Prompt (خط فرمان) را باز کنید. tracert، یک فاصله و نام سایت یا آدرس آیپی آن را تایپ کنید و سپس Enter را بزنید.- صبر کنید تا اعلان فرمان (prompt) دوباره ظاهر شود. یک ردیابی معمولاً از چند ثانیه تا یک دقیقه طول میکشد؛ هر هاپ بیپاسخ حدود 12 ثانیه اضافه میکند (سه بسته آزمایشی، هر کدام چهار ثانیه).
tracert example.comاین خروجیای است که کامپیوتر آزمایشی ما با ویندوز 11 در 12 نوامبر 2026 چاپ کرد:
Tracing route to example.com [172.66.147.243]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms router.example [192.0.2.1]
2 3 ms 2 ms 2 ms 198.51.100.1
3 3 ms 2 ms 3 ms 198.51.100.9
...
11 11 ms 11 ms 12 ms 203.0.113.94
12 11 ms 12 ms 11 ms 203.0.113.195
13 10 ms 10 ms 10 ms 172.66.147.243
Trace complete.خروجی را کوتاه کردهایم: هاپهای 4 تا 10 که همه درون شبکه ارائهدهنده اینترنت ما بودند حذف شدهاند، و نام و آدرسهای هاپهای 1 تا 12 با مقدارهای مستندسازی، یعنی بازههایی که برای مثالها کنار گذاشته شدهاند، جایگزین شدهاند. سطر عنوان، زمانها و هاپ آخر هماناند که چاپ شد. هاپها و زمانهای شما متفاوت خواهند بود.
چهار گزینه بیشتر نیازها را پوشش میدهند. مستندات مایکروسافت آنها را با خط مورب مینویسد (/d) و tracert /? با خط تیره، و هر دو شکل کار میکنند:
| گزینه | چه کاری انجام میدهد |
|---|---|
-d | نامها را جستوجو نمیکند، پس نتیجه زودتر میآید |
-h 15 | بهجای 30 هاپ، پس از 15 هاپ میایستد |
-w 1000 | برای هر پاسخ بهجای 4,000 میلیثانیه، 1,000 میلیثانیه صبر میکند |
-4 یا -6 | فقط از راه IPv4 یا IPv6 ردیابی میکند |
برای فرستادن نتیجه به پشتیبانی ارائهدهنده اینترنت، آن را با tracert example.com > tracert.txt ذخیره کنید. تا اجرا تمام نشده چیزی روی صفحه نمیآید؛ وقتی اعلان فرمان برگشت، فایل در پوشهای است که پیش از اعلان نشان داده میشود، که معمولاً پوشه کاربری شماست.
traceroute را در مک یا لینوکس چگونه اجرا کنیم؟
در مک، Terminal (ترمینال) را از راه Spotlight یا پوشه Applications > Utilities (برنامهها > ابزارها) باز کنید و فرمان زیر را تایپ کنید. در لینوکس هر ترمینالی کافی است؛ اگر فرمان پیدا نشد، بسته traceroute را با مدیر بسته توزیع لینوکس خود نصب کنید.
traceroute example.comخروجی مانند خروجی tracert خوانده میشود. نسخه لینوکس، همانطور که صفحه راهنمای traceroute توضیح میدهد، بستههای UDP را به پورتهای بالایی میفرستد که بعید است در حال استفاده باشند، از 33434 به بعد، و مقصد را از پاسخ «port unreachable» آن تشخیص میدهد. -I مانند ویندوز به ICMP تغییر میدهد، -T به TCP، و -n جستوجوی نامها را کنار میگذارد؛ وقتی یک روش به ستاره ختم میشود، روش دیگری گاهی عبور میکند.
دو ابزار نگاه طولانیتری میاندازند. pathping در ویندوز مسیر را ردیابی میکند، سپس به هر هاپ 100 بار ping میفرستد و از دست رفتن بسته را برای هر روتر و هر پیوند گزارش میدهد؛ روی مسیر 13 هاپی ما اعلام کرد Computing statistics for 325 seconds (محاسبه آمار به مدت 325 ثانیه). در مک و لینوکس، mtr، اگر نصب باشد، traceroute و ping را در یک صفحه که مدام تازه میشود کنار هم میآورد.
خروجی traceroute را چگونه بخوانیم؟
هر سطر یک هاپ است و از چپ به راست خوانده میشود:
- شماره هاپ. روترها را از کامپیوتر شما به بعد میشمارد؛ آخرین سطر مقصد است.
- سه زمان بر حسب میلیثانیه (ms). زمان رفت تا آن روتر و برگشت، که سه بار اندازهگیری شده است.
<1 msیعنی کمتر از یک میلیثانیه، که برای روتر خودتان معمول است. - نام یا آدرس. آدرس آیپی روتر، و اگر جستوجوی معکوس DNS (reverse DNS) نامی برای آن پیدا کند، آن نام پیش از آدرس.
هاپ 1 تقریباً همیشه روتر خودتان است، دستگاهی که کامپیوتر همه ترافیک بیرونی را به آن میسپارد و ویندوز آن را دروازه پیشفرض (Default Gateway) مینامد. هاپهای بعدی به ارائهدهنده اینترنت شما تعلق دارند و پس از آن به شبکههای میان ارائهدهنده و سایت.
الگو از تکمقدارها مهمتر است. زمانهایی که پلهپله بالا میروند عادیاند. جهشی که تا آخرین سطر ادامه پیدا کند از همان پیوند میآید: در یک ردیابی تا یک سرور دوردست، زمانهای ما حدود 76 میلیثانیه بود، در یک هاپ به 130 میلیثانیه رسید و همانجا ماند؛ این نشانه یک پیوند طولانی یا پرترافیک است.
یک هاپ کند که پس از آن هاپهای عادی میآیند معمولاً بیخطر است. روترها جدا از کار اصلیشان، یعنی جلو فرستادن ترافیک، با اولویت پایین به بستههای آزمایشی پاسخ میدهند؛ پس روتر پرمشغله دیر پاسخ میدهد در حالی که ترافیک را همچنان عبور میدهد. مستندات pathping مایکروسافت همین نکته را درباره روترهایی میگوید که بستههای خطاب به خودشان را دور میاندازند. در ردیابی ما تا example.org، هاپ 12 در 55، 40 و 11 میلیثانیه پاسخ داد، در حالی که مقصدِ پشت آن در 10 میلیثانیه پاسخ داد.
ستارهها هم از همین منطق پیروی میکنند. یک * تنها یعنی یک پاسخ گم شده است؛ ردیابی ما تا iana.org در میانه مسیر سطری با 3 ms 2 ms * داشت و بهطور عادی ادامه یافت. یک سطر کامل Request timed out. (مهلت درخواست به پایان رسید) که پس از آن باز هم پاسخ میآید، روتری است که هرگز «time exceeded» نمیفرستد. اما بیپاسخیهایی که تا سقف هاپها ادامه پیدا میکنند داستان دیگری دارند:
Tracing route to man7.org [45.84.74.9]
over a maximum of 30 hops:
...
13 53 ms 53 ms 53 ms 203.0.113.19
14 54 ms 53 ms 53 ms 203.0.113.6
15 * * * Request timed out.
16 * * * Request timed out.
17 * * * Request timed out.
...
30 * * * Request timed out.
Trace complete.این خروجی tracert -d man7.org از همان کامپیوتر است که به همان شکل کوتاه و پوشانده شده است. از هاپ 15 به بعد هیچ چیز پاسخ نداد، با این حال سایت در مرورگر بهطور عادی باز شد: صفحههای وب روی TCP جابهجا میشوند و آن شبکه TCP را عبور میدهد، در حالی که درخواستهای اکو (echo request) را که tracert میفرستد نادیده میگیرد. و ویندوز باز هم Trace complete. (ردیابی کامل شد) چاپ کرد، هرچند مقصد هرگز پاسخ نداد.
traceroute و ping: چه تفاوتی دارند؟
ping میپرسد مقصد پاسخ میدهد یا نه و با چه سرعتی؛ traceroute میپرسد زمان در کجای مسیر صرف میشود. ping درخواستهای اکو را مستقیم به مقصد میفرستد، در حالی که traceroute فهرست روترها را هر بار با یک TTL بیشتر میسازد.
| Ping | Traceroute | |
|---|---|---|
| پرسش | میزبان پاسخ میدهد و با چه سرعتی؟ | کدام روترها سر راهاند؟ |
| بستهها | درخواست اکو به مقصد | بستههای آزمایشی با TTL برابر 1، 2، 3 و… |
| خروجی | یک سطر برای هر پاسخ، درصد از دست رفتن بسته در پایان | یک سطر برای هر هاپ، هر کدام با سه زمان |
| فرمان ویندوز | ping example.com | tracert example.com |
| مناسب برای | بررسی سریع «روشن است یا نه؟» | پیدا کردن جایی که تأخیر یا از دست رفتن بسته شروع میشود |
آنها را به همین ترتیب به کار ببرید: اول ping، و اگر پاسخ کند بود یا نیامد، سپس یک ردیابی.
مشکل از شبکه من است، از ارائهدهنده اینترنت یا از سایت؟
traceroute را بهتر است برای مقایسه به کار ببرید: یک ردیابی تا سایتی که مشکل دارد و یکی تا سایتی که بهطور عادی باز میشود.
- هر دو ردیابی را اجرا کنید. سایت کند یا دسترسناپذیر را ردیابی کنید، سپس یک سایت بزرگ را که برایتان کار میکند.
- هاپ 1 را بررسی کنید. زمانهای بالا یا بیپاسخی روتر خودتان به شبکه خانگی اشاره دارد: Wi-Fi، کابل یا خود روتر. اول روتر را دوباره راهاندازی کنید و اتصال با کابل را امتحان کنید.
- هاپهای پس از روتر را بررسی کنید. اگر هر دو ردیابی در یک هاپ ابتدایی یکسان کند شوند یا متوقف شوند، مشکل در شبکه ارائهدهنده اینترنت شماست. هر دو ردیابی را ذخیره کنید و برای پشتیبانی بفرستید.
- انتهای ردیابی ناموفق را بررسی کنید. اگر ردیابی بیمشکل از شبکه ارائهدهنده شما بگذرد و فقط هاپهای آخر ساکت یا کند شوند، مشکل نزدیک سایت است و کاری جز صبر کردن یا تماس با سایت از دستتان برنمیآید.
- مالک یک هاپ را پیدا کنید. هر آدرس عمومی به شبکهای با شماره مخصوص خودش، یعنی یک ASN، تعلق دارد و یک استعلام نام آن شبکه را نشان میدهد؛ روش کار در نوشته ASN چیست؟ آمده است.
اگر مرورگر برای یک سایت ERR_CONNECTION_TIMED_OUT نشان دهد اما ردیابی به آدرس سایت برسد، مسیر کار میکند و آنچه پاسخ نمیدهد وبسرور است.
آیا traceroute از پروکسی عبور میکند؟
خیر. traceroute در لایه شبکه و با بستههایی کار میکند که TTL آنها را خودش تعیین میکند، در حالی که پروکسی HTTP یا SOCKS اتصالهای برنامهها، مانند اتصال مرورگر، را در بستههای تازه خودش جلو میفرستد. پس ردیابی حتی وقتی مرورگرتان از پروکسی استفاده میکند مسیر خود شما را نشان میدهد؛ حتی SOCKS5 که میتواند UDP را حمل کند، داده را جلو میفرستد، نه بستههای شما را با TTL آنها.
برای دیدن مسیر از جای دیگر به ماشینی در همانجا نیاز دارید: یک سرور اجارهای، یا یک looking glass، یعنی صفحهای که اپراتور یک شبکه در آن به بازدیدکنندگان اجازه میدهد از روترهای خودش ردیابی کنند. سایتهای traceroute آنلاین هم از سرور خودشان ردیابی میکنند، نه از کامپیوتر شما.
برای بررسی اینکه پروکسی چه چیزی را تغییر میدهد، بهجای ردیابی چیزی را بیازمایید که وبسایت میبیند: آدرس آیپی عمومی، موقعیت و شبکه آن؛ همانطور که در نوشته چگونه پروکسی را آزمایش کنیم شرح دادهایم.
پروکسی مسکونی به درخواستهای وب شما یک آدرس خروجی روی یک اتصال خانگی در کشور و شهری که انتخاب میکنید میدهد، و سایت را همانطور میبینید که بازدیدکنندگان آنجا میبینند.
برای پایش از آدرسهای ثابتی که هرگز عوض نمیشوند، پروکسی دیتاسنتر گزینه پایدارتری است.
جاهایی که traceroute به کار میآید
- گزارش خرابی. ارائهدهندگان اینترنت ردیابی میخواهند چون هاپی را نشان میدهد که ترافیک شما در آن متوقف میشود.
- یک سایت کند. دیدن اینکه تأخیر از روتر شما، در شبکه ارائهدهنده یا نزدیک سایت شروع میشود.
- اتصال تازه. بررسی نخستین هاپها پس از رفتن به ارائهدهنده یا روتر جدید.
- سرور خودتان. ردیابی صاحبان سایت از سرور خودشان به سوی شبکهای که کاربرانش نمیتوانند وصل شوند.
خطاهای رایج
- مقصر دانستن یک هاپ کند. اگر هاپهای پس از آن سریع باشند، آن روتر فقط به بستههای آزمایشی دیر پاسخ میدهد.
- قطع پیوند دانستن
Request timed outدر میانه مسیر. روتر ساکت در مسیری که کار میکند عادی است. - نشانه موفقیت گرفتن
Trace complete.ویندوز آن را چاپ میکند، چه مقصد پاسخ داده باشد چه نه. - انتظار اینکه هاپ آخر سرور خود سایت باشد. بسیاری از سایتها پشت یک شبکه توزیع محتوا (CDN) قرار دارند؛ پس ردیابی به یک سرور لبه نزدیک ختم میشود. آدرس example.com حتی میان اجراهای ما عوض شد.
- ردیابی پشت سر هم در یک حلقه. یک یا دو ردیابی تصویر را نشان میدهند؛ اجرای مکرر در برابر شبکههای دیگران شبیه کاوش و شناسایی شبکه به نظر میرسد.
راهنمای انتخاب
| آنچه میبینید | معمولاً یعنی | چه باید کرد |
|---|---|---|
هاپ 1 کند است یا * | مشکل میان کامپیوتر و روتر | روتر را دوباره راهاندازی کنید، کابل را امتحان کنید |
| همه سایتها در هاپ 2 یا 3 کند میشوند | شبکه ارائهدهنده اینترنت شما | ردیابیها را ذخیره کنید و برای پشتیبانی بفرستید |
| یک هاپ کند، هاپهای بعدی عادی | روتری که دیر به بستههای آزمایشی پاسخ میدهد | کاری لازم نیست |
یک سطر * در میانه مسیر، مقصد پاسخ میدهد | یک روتر ساکت | کاری لازم نیست |
| بیپاسخ تا هاپ 30، سایت باز میشود | مقصد بستههای آزمایشی را نادیده میگیرد | کاری لازم نیست |
| بیپاسخ تا هاپ 30، سایت از دسترس خارج است | مسیر نزدیک سایت قطع میشود | صبر کنید یا با سایت تماس بگیرید |
پرسشهای متداول
چرا traceroute ستاره یا «Request timed out» نشان میدهد؟
برای آن هاپ پاسخی بهموقع برنگشته است. معمولاً روتر پیام «time exceeded» نمیفرستد و مسیر از درون آن همچنان کار میکند؛ فقط بیپاسخیهایی که تا انتها ادامه دارند، آن هم وقتی سایت هم باز نمیشود، نشانه یک قطعی واقعیاند.
عدد ms بالا در traceroute به چه معناست؟
آن روتر دیر پاسخ داده است، و این فقط وقتی اهمیت دارد که هاپهای پس از آن هم کند باشند. جهشی که تا مقصد باقی بماند تأخیری است که پیوند واقعاً اضافه میکند.
تفاوت tracert و traceroute چیست؟
این دو یک ابزارند با دو نام: tracert در ویندوز و traceroute در مک و لینوکس. ویندوز درخواست اکوی ICMP میفرستد؛ لینوکس بهطور پیشفرض بستههای آزمایشی UDP میفرستد و میتواند به ICMP یا TCP تغییر کند. خروجی به همان شکل خوانده میشود.
traceroute از چه پورت و پروتکلی استفاده میکند؟
tracert ویندوز از ICMP استفاده میکند که پورت ندارد. traceroute لینوکس بهطور پیشفرض UDP را به پورتهایی از 33434 به بعد میفرستد و حالت TCP آن به پورت 80 وصل میشود، مگر اینکه با -p پورت دیگری تعیین کنید. همه نسخهها به پاسخهای ICMP «time exceeded» روترها تکیه دارند.
چند هاپ عادی است؟
عدد عادی وجود ندارد؛ به فاصله و به تعداد شبکههای میان راه بستگی دارد. ردیابی ما تا example.com به 13 هاپ رسید. ویندوز بهطور پیشفرض در 30 هاپ میایستد و -h 40 این حد را بالا میبرد.
آیا اجرای traceroute امن و قانونی است؟
برای استفاده عادی، بله: ردیابی مسیر تا سایتی که به آن سر میزنید عیبیابی معمولی است و ویندوز، مک و لینوکس همه این فرمان را دارند. برای هر هاپ سه بسته آزمایشی کوچک میفرستد، بهطور پیشفرض حداکثر 90 بسته، و هیچ چیزی را در هیچ جا تغییر نمیدهد. آن را در حلقههای پشت سر هم در برابر شبکههای دیگران اجرا نکنید و در محل کار یا مدرسه از قواعد بخش فناوری اطلاعات پیروی کنید.
خلاصه
traceroute روترهای میان شما و یک مقصد را با فرستادن بستههای آزمایشی با TTL رو به افزایش و جمع کردن پاسخ «time exceeded» هر روتر فهرست میکند. tracert یا traceroute را اجرا کنید، بهجای تکمقدارها الگو را بخوانید، هاپهای ساکت در میانه مسیر را عادی بدانید و یک سایت مشکلدار را با یک سایت سالم مقایسه کنید. ردیابی همیشه مسیر خود شما را نشان میدهد؛ وقتی درخواستهای وب شما باید از کشور، شهر یا شبکه دیگری خارج شوند، گزینهها را در صفحه محصولات پروکسی ما مقایسه کنید.




