دستور Traceroute در لینوکس + مثالهای کاربردی
وقتی میخواهید مشکلات اتصال شبکه را بررسی کنید و بفهمید بستههای داده شما در مسیر طولانی اینترنت از چه مراحلی عبور میکنند، دستور traceroute یک ابزار قدرتمند و کاربردی در اختیار شما قرار میدهد.
دستور traceroute که در بعضی سیستمها با نام tracert شناخته میشود یکی از ابزارهای مهم در لینوکس و سیستمهای مبتنی بر یونیکس است که برای عیبیابی شبکه، بررسی مسیر عبور بستهها و تحلیل تاخیر شبکه استفاده میشود. این دستور به مدیران سرور، توسعهدهندگان و کاربران حرفهای کمک میکند مسیر حرکت بستههای شبکه از مبدا تا مقصد را بهصورت مرحلهبهمرحله (Hop by Hop) بررسی کنند.
اگر وبسایت شما کند است، اتصال به سرور دچار اختلال شده یا میخواهید مشکل شبکه را دقیقتر تحلیل کنید، دستور traceroute یک ابزار حیاتی محسوب میشود، و اگر با مفاهیم شبکه، مدیریت سرور، مانیتورینگ ارتباطات و حتی سئو و دسترسیپذیری وبسایتها سروکار دارید، آشنایی با traceroute میتواند نقش مهمی در تحلیل مشکلات ارتباطی و کاهش Downtime داشته باشد.

در این مقاله، به صورت کامل و مرحلهبهمرحله دستور traceroute را به همراه مثالهای عملی نوشته شده بررسی میکنیم تا به راحتی بتوانید از traceroute در سناریوهای واقعی شبکه استفاده کنید.
traceroute چیست و چه کاربردی دارد؟
دستور traceroute برای نمایش مسیر حرکت بستهها از مبدأ تا مقصد در شبکه استفاده میشود. این دستور نشان میدهد بستهها در مسیر رسیدن به مقصد، از چه روترها، Gatewayها و نودهایی عبور کردهاند.
کاربردهای مهم traceroute عبارتند از:
- عیبیابی مشکلات ارتباطی بین سرور و شبکه
- بررسی محل ایجاد تاخیر (Latency)
- شناسایی نقطه قطع ارتباط (Packet Loss)
- تحلیل مسیر ترافیک اینترنت
- بررسی مشکلات Routing
- کمک به مدیران سرور و شبکه برای Debug ارتباطات
مثلاً اگر سایتی برای کاربران داخل ایران کند است، traceroute کمک میکند بفهمیم تاخیر در کدام بخش رخ میدهد: شبکه داخلی کاربر؟ ISP؟ روتر بینالملل یا دیتاسنتر مقصد؟

traceroute چگونه کار میکند؟ (مکانیزم TTL)
Traceroute با استفاده از مکانیزم TTL (Time To Live) مسیر عبور بستهها را به صورت مرحلهای آشکار میکند.
شیوه عملکرد traceroute
-
در ابتدا بستهای با مقدار TTL = 1 ارسال میکند
-
اولین روتر بسته را دریافت کرده و TTL به 0 میرسد
-
روتر بسته را Drop کرده و یک پیام ICMP به مبدأ برمیگرداند
-
traceroute آدرس همان روتر را ثبت میکند
-
بار بعد بستهای با TTL = 2 ارسال میشود
-
این فرایند تا رسیدن بسته به مقصد ادامه مییابد
به همین دلیل خروجی traceroute شامل لیست روترهای موجود در مسیر است.
در خروجی دستور traceroute هر خط و هر ستون معنا و کاربرد مشخصی دارد. در ادامه، تحلیل دقیق ستونها و اجزای خروجی را میخوانید.

ساختار کلی هر خط در traceroute
نمونه خط:
2 10.10.5.1 8.123 ms 7.998 ms 8.021 ms

هر خط معمولاً شامل ۴ بخش اصلی است:
1️⃣ ستون اول: شماره Hop (پرش)
- نشاندهنده شماره گره (Router / Gateway) در مسیر است
- هر hop یعنی یک روتر که بسته از آن عبور میکند
- traceroute از TTL استفاده میکند و با هر hop مقدار TTL یک واحد کم میشود
📌 اگر مقصد دورتر باشد، تعداد hopها بیشتر میشود.
2️⃣ ستون دوم: IP یا نام میزبان (Router)
مثال: 10.10.5.1
- آدرس IP یا نام DNS روتر در آن hop
- اگر Reverse DNS فعال باشد، نام روتر نمایش داده میشود
- در صورت عدم پاسخ، معمولاً
* * *دیده میشود
مثال:
5 * * *
یعنی:
- روتر پاسخ ICMP نمیدهد
- یا فایروال اجازه پاسخ نمیدهد
3️⃣ ستونهای سوم تا پنجم: زمان پاسخ (Latency)
مثال: 8.123 ms 7.998 ms 8.021 ms
- زمان رفتوبرگشت (RTT – Round Trip Time) بستهها
- traceroute تعداد 3 بسته برای هر hop ارسال میکند
- هر عدد = زمان پاسخ یکی از بستهها
- تفسیر:
- هرچه عدد کمتر = مسیر سریعتر
- افزایش ناگهانی زمان = احتمال شلوغی یا فاصله زیاد
- اختلاف زیاد بین ۳ عدد = ناپایداری شبکه
4️⃣ واحد زمان: ms (میلیثانیه)
- تمام زمانها بر حسب میلیثانیه هستند
- زیر 20ms: عالی (شبکه محلی یا نزدیک)
- 20–80ms: خوب
- 80–150ms: متوسط
- بالای 200ms: تأخیر بالا
تحلیل کامل نمونه خروجی
traceroute to google.com (142.250.184.14), 30 hops max
1 192.168.1.1 2.345 ms 2.112 ms 2.064 ms
2 10.10.5.1 8.123 ms 7.998 ms 8.021 ms
3 172.16.40.1 15.213 ms 15.098 ms 15.201 ms
4 209.85.173.12 45.112 ms 44.990 ms 45.220 ms
5 142.250.184.14 48.220 ms 48.315 ms 48.501 ms
- روتر داخلی (Gateway مودم): تأخیر بسیار کم = شبکه محلی
- شبکه ISP: تأخیر طبیعی
- مسیر داخلی اپراتور: تأخیر در حال افزایش
- شبکه Google: پرش بینالمللی
- مقصد نهایی: اتصال موفق
هر ستون چه چیزی را نشان میدهد؟
| بخش | توضیح |
|---|---|
| Hop | شماره روتر در مسیر |
| IP/Hostname | آدرس روتر |
| ms | زمان پاسخ هر بسته |
| * * * | عدم پاسخ روتر |
| افزایش ms | فاصله یا شلوغی شبکه |
اگر ستاره (*) نمایش داده شود یعنی:
- روتر پاسخ ICMP نمیدهد
- Packet Filtering فعال است
- فایروال یا ISP اجازه Reply نداده
اجرای traceroute با IP به جای دامنه
traceroute 8.8.8.8
کاربرد این روش:
- تست ارتباط دی ان اس
- تشخیص مشکل Name Resolution
- بررسی مستقیم مسیر شبکه
اجرای traceroute با تعداد Hop کمتر
به صورت پیشفرض حداکثر 30 عدد Hop بررسی میشود.
برای کاهش آن:
traceroute -m 10 google.com
تغییر اندازه بسته ارسالی
traceroute -q 5 google.com
این یعنی:
- به جای 3 بار تست در هر Hop
- 5 بار تست انجام شود
کمک میکند Packet Loss دقیقتر مشخص شود.
traceroute با پروتکل ICMP (مشابه ویندوز)
به صورت پیشفرض در لینوکس از UDP استفاده میشود.
برای استفاده از ICMP:
traceroute -I google.com
این دستور مخصوص، زمانی کاربرد دارد که:
- فایروال UDP را مسدود کرده باشد
- روتر پاسخ ICMP Echo بدهد
traceroute فقط با آدرس IP بدون Reverse Lookup
به صورت پیشفرض، traceroute سعی میکند نام میزبان را Resolve کند.
برای نمایش فقط IP:
traceroute -n google.com
مزایا:
- سرعت بیشتر
- جلوگیری از تاخیر DNS
- مناسب برای عیبیابی حرفهای شبکه
اجرای traceroute با پورت دلخواه
traceroute -p 80 example.com
برای بررسی مسیر ترافیک وب کاربردی است.
تفاوت traceroute با ping
| ویژگی | ping | traceroute |
|---|---|---|
| کاربرد | بررسی دسترسی | نمایش مسیر عبور بسته |
| خروجی | یک مقصد | چندین Hop |
| هدف | Latency کلی | شناسایی محل تاخیر |
| Packet Type | ICMP | UDP / ICMP |
توضیح:
Ping میگوید مقصد در دسترس هست یا نه، Traceroute میگوید در مسیر چه اتفاقی میافتد.
رایجترین خطاها در traceroute
در ادامه به بررسی رایج ترین خطاها در traceroute می پردازیم :
نمایش ستاره (*) به جای پاسخ
علتهای احتمالی:
- روتر Traceroute را Block کرده
- Packet Filtering فعال است
- مقصد پاسخ نمیدهد
- ارتباط در همان Hop قطع شده
Destination Unreachable
پیغام Destination Unreachable به معنی «مقصد غیرقابل دسترسی» است و معمولاً در شبکه ظاهر میشود. دلایل متداول آن عبارتند از:
مقصد وجود ندارد: دستگاه یا سرور موردنظر خاموش است یا آدرس IP معتبر ندارد.
مسیر (Route) اشتباه است: مسیر رسیدن به مقصد در شبکه بهدرستی تنظیم نشده است.
مشکل ISP: ارائهدهنده اینترنت در انتقال بستهها به مقصد مشکل دارد.
فایروال مسیر را مسدود کرده: تنظیمات امنیتی یا فایروال مانع عبور بستهها میشوند.
در ادامه یک چکلیست سریع برای رفع خطای Destination Unreachable آورده شده است:
1. بررسی دسترسی به مقصد
با دستور ping [IP مقصد] بررسی کنید که دستگاه روشن و در شبکه پاسخگو است یا خیر. اگر پاسخی نیامد، ممکن است دستگاه خاموش باشد یا IP اشتباه باشد.
2. بررسی مسیر شبکه (Routing)
با دستور traceroute [IP مقصد] مسیر رسیدن به مقصد را بررسی کنید. اگر بستهها قبل از رسیدن به مقصد متوقف شدند، مسیر در یکی از روترها مشکل دارد.
3. بررسی تنظیمات فایروال و امنیت شبکه
فایروال روی سرور یا روتر را بررسی کنید که بستهها مسدود نشده باشند. مطمئن شوید که پورتها و پروتکلهای موردنظر باز هستند.
4. بررسی ISP و اتصال اینترنت
اتصال اینترنت خودت را با سایت یا IP دیگری تست کنید. اگر مشکل فقط با یک مقصد خاص است، ممکن است مسیر توسط ISP بسته شده یا مشکل موقت دارد.
5. بررسی آدرس IP و پیکربندی شبکه
IP و Subnet Mask خود را بررسی کنید. مطمئن شوید که Gateway و DNS بهدرستی تنظیم شدهاند.
6. تست با ابزارهای دیگر
میتوانید از telnet یا curl برای بررسی دسترسی به سرویس روی سرور استفاده کنید.
جایگزینهای traceroute در لینوکس
mtr
ترکیب traceroute و ping در یک ابزار:
mtr google.com
قابل استفاده برای تحلیل زنده و مانیتورینگ لحظهای Packet Loss
tracepath
نسخه سبکتر traceroute:
tracepath google.com
Paris-Traceroute
برای شبکههایی با Load Balancing مناسبتر است.
نکات مهم در استفاده از traceroute
- برخی روترها عمداً پاسخ نمیدهند
- ستاره به معنی قطعی واقعی نیست
- وجود NAT ممکن است مسیر واقعی را پنهان کند
- Packet Loss در یک Hop همیشه مشکل نیست
- تفسیر خروجی نیاز به دانش شبکه دارد
جمعبندی
دستور traceroute یکی از ابزارهای ضروری برای مدیران شبکه، مدیران سیستم و کارشناسان IT است. این ابزار با بررسی مسیر ترافیک و روترهای بین راه، امکان تحلیل دقیق Latency، Packet Loss و Routing Path را فراهم میکند.
- در این مقاله موارد زیر را بررسی کردیم:
- traceroute چیست و چگونه کار میکند؟
- مکانیزم TTL و ICMP
- نصب traceroute در لینوکس
- اجرای traceroute با مثالهای واقعی
- کاربرد پارامترهای مهم
- تفاوت traceroute با ping
- ابزارهای جایگزین مانند mtr
استفاده از traceroute به شما کمک میکند مشکلات شبکه را سریعتر شناسایی کرده و درک روشنتری از مسیر ارتباطی بین سرویس شما و کاربران داشته باشید.