آموزش Traceroute

آموزش Traceroute
تاریخ انتشار: 3 سال پیش تعداد بازدید: 18507 دسته بندی: عمومی

از آنجایی که دلایل احتمالی متعددی برای یک مشکل شبکه وجود دارد، داشتن دانش و ابزار برای عیب یابی آن به صرفه جویی در زمان کمک می کند.
یکی از رایج ترین و مبتدی ترین ابزارهایی که برای این منظور استفاده می شود دستور traceroute است. با این حال، خروجی traceroute  می تواند کمی گیج کننده باشد.

با در نظر گرفتن این موضوع، نگاهی دقیق تر به نحوه عملکرد دستور tracert یا traceroute، زمان استفاده و نحوه تفسیر خروجی آن خواهیم انداخت.


دستور Traceroute چیست و چه زمانی باید از آن استفاده کرد؟

Traceroute یا tracert فرمانی است که عملکرد تشخیص شبکه را بر روی سیستم عامل های کامپیوتر اجرا می کند.

به طور کلی هر دو دستور یکسان عمل می کنند. تفاوت فقط در سیستم عامل است؛ در حالی که لینوکس و macOS از دستور traceroute استفاده می کنند، ویندوز از tracert استفاده می کند.

دستور traceroute سه probe packet را از طریق شبکه می فرستد و نحوه رسیدن آنها را به مقصد مانیتور می کند.

یک probe packet در فرایندی به نام hop  از چندین دستگاه مانند روترها و سوئیچ‌ها عبور می کند تا به آدرس IP مورد نظر برسد. دستور traceroute هر hop در مسیر را به همراه زمان رفت و برگشت آن (RTT) ترسیم می کند.

گزارش ممکن است شامل جزئیات دیگری مانند نام دستگاه هر hop و آدرس IP نیز باشد.

دستور traceroute عملکردی مشابه دستور ping دارد. ولی عیب‌یابی آسان‌تر را در یک شبکه بزرگ با دستگاه‌های بیشتری مانند روترها و بریج‌ها  امکان‌پذیر می‌کند.


از پروتکل ICMP (Internet Control Message Protocol) برای شناسایی مشکلات در طول اتصال شبکه و گزارش مکان دقیق packet loss استفاده می کند.

به عنوان مثال، اگر طولانی ترین delay در روتر لوکال شما رخ دهد، به این معنی است که باید عیب یابی را از آنجا شروع کنید.

 

چگونه دستور Traceroute را اجرا کنیم؟

کاربران معمولا می توانند دستور traceroute یا tracert را از طریق برنامه داخلی خط فرمان  اجرا کنند ولی روش دقیق اجرای آن به سیستم عامل شما بستگی دارد.

در ادامه نگاهی به نحوه اجرای دستور traceroute یا tracert در ویندوز، لینوکس و macOS  می‌اندازیم.

 

اجرای Tracert در ویندوز 


کاربران ویندوز می توانند دستور tracert را با استفاده از کنسول Command Prompt اجرا کنند.

کلیدهای ترکیبی Windows + R را فشار دهید تا کادر Run باز شود و cmd را در نوار جستجو تایپ کنید.

اجرای کارد run در ویندوز


با این کار یک پنجره کنسول جدید باز می شود که در آن می توانید دستورات مختلفی از جمله  tracert  را وارد کنید.

باز کردن کنسول cmd در ویندوز

 


بعد از اینکه tracert را تایپ کردید و Enter را فشار دادید، کنسول نحوه استفاده صحیح از این دستور را به شما نشان می دهد.

 

نمایش گزینه های tracert در ویندوز

 

ابتدایی ترین راه برای انجام این کار تایپ tracert و درج نام دامنه یا آدرس IP مورد نظر است.
 

نمونه یک trace کامل

اجرای دستور Traceroute در لینوکس


کاربران لینوکس می توانند دستور traceroute را در ترمینال اجرا کنند. برای انجام این کار، این خط فرمان را با فرمت زیر تایپ کنید:

traceroute [options] [hostname or IP] [packet length]

رایج ترین استفاده از traceroute با تایپ دستور و سپس آدرس مقصد traceroute است. این می تواند یک آدرس IP یا یک نام دامنه باشد، مانند این مثال:

traceroute www.google.com


با استفاده از این خط فرمان، می‌توانید مسیری که رایانه شما را به وب‌سایت Google متصل می‌کند و جزئیات هر پرش در طول مسیر را ردیابی کنید. نتایج مشابه مثال زیر خواهد بود.

 

نمونه traceroute کاملدر لینوکس

 

همچنین می‌توانید گزینه‌های پیشرفته‌ای را به دستور traceroute اضافه کنید تا نتایج شما مشخص‌تر شود. در اینجا چند گزینه پیشرفته traceroute برای لینوکس آورده شده است:

 


همچنین می توانید از این گزینه های پیشرفته به صورت جداگانه استفاده کنید یا آنها را در یک پیکربندی ردیابی واحد ترکیب کنید. مثلا:
از دستور man traceroute برای مشاهده سایر اطلاعات مربوط به دستور traceroute، از جمله سایر گزینه های موجود و نحوه استفاده از آنها استفاده کنید.

 

اجرای دستور Traceroute در macOS


کاربران macOS می توانند دستور traceroute را از طریق برنامه ترمینال اجرا کنند.
دستور traceroute در macOS مشابه فرمان لینوکس عمل می کند. دستور اصلی traceroute و سپس نام میزبان مقصد یا آدرس IP است.

 

traceroute در مک

 

اکثر گزینه های پیشرفته برای macOS tracert مشابه نسخه لینوکس با تفاوت های جزئی هستند.
 

سرور مجازی لینوکس یک ماشین مجازی کامل است که امکان دسترسی root را به سرور خواهید داشت.
خرید سرور مجازی لینوکس در پنج موقعیت جغرافیایی ایران، ترکیه، هلند، آلمان و آمریکا با قابلیت تحویل آنی در پارسدو فراهم است.

 

خواندن نتایج Traceroute

پس از اجرای دستور tracert یا traceroute ، سیستم نتایج را به صورت ردیفی ارائه می کند. گزارش ممکن است بسته به سیستم عامل شما کمی متفاوت به نظر برسد، اما معمولاً اطلاعات یکسانی را نشان می دهند.

 

نتایج tracerout
 

یک گزارش tracert یا traceroute رایج  شامل چندین ردیف است که هر hop   یک بسته (packet) برای رسیدن به host  مقصد طول می‌کشد. هر ردیف به ستون هایی با اطلاعات متفاوت تقسیم می شود. بیایید هر ستون و جزئیات آن را بررسی کنیم
 

 

  • شماره Hop - ستون اول تعداد پرش‌ها را برای یک ردیف خاص نشان می‌دهد.
  •  RTT یا  زمان رفت و برگشت نشان دهنده مدت زمانی است که هر بسته برای رسیدن به یک آدرس  IP  خاص و بازگشت به کامپیوتر شما طول می کشد. سه ستون RTT مختلف وجود دارد زیرا traceroute  به طور پیش فرض سه بسته UDP را ارسال می کند.
  • آدرس IP یا hostname - این ستون نشان دهنده آدرس IP یا نام میزبان دستگاه در آن hop خاص است.
     

اگر در حین پرش مشکلی وجود داشته باشد، گزارش traceroute یک پیام خطا را بر اساس نوع مشکل نشان می دهد. سه نوع پیام خطای رایج در traceroute وجود دارد:

  • Request timed out - معمولاً نشان دهنده یک مشکل شبکه است. ممکن است به دلیل مشکلات در مسیر برگشت یا مسدود کردن درخواست شما توسط دستگاه امنیتی مقصد رخ دهد.
  • علامت ستاره (*) در ستون‌های RTT بدان معنی است که دستگاه قبل از تجاوز از زمان تعیین شده به درخواست شما پاسخ نداده است.
  • Destination net unreachable - به شما اطلاع می‌دهد که بسته‌های IP نتوانسته‌اند مسیری به آدرس مقصد پیدا کنند و  سفر در شبکه برای انها متوقف شده‌ است.شایع ترین دلایل این مشکل، مشکل با روتر یا آدرس IP مقصد ناموجود است.

خطای timeout در تریس‌روت

بهترین راه برای خواندن گزارش traceroute این است که به جای تمرکز بر روی hop های فردی، به الگوی کل گزارش نگاه کنید.


بیایید به چهار الگوی رایج نتایج traceroute و نحوه ارتباط آنها با شرایط شبکه نگاهی بیندازیم.
 

افزایش تاخیر به سمت مقصد

ممکن است یک تاخیر (latency) ناگهانی بالا را در یک پرش ببینید که در آن به سمت میزبان مقصد افزایش می یابد. در برخی موارد، ممکن است ستاره هایی را نیز مشاهده کنید که نشان دهنده از دست رفتن بسته (packet loss) است
این الگو نشان می‌دهد که مشکل از hop است جایی که latency شروع به افزایش کرد.

 

افزایش تاخیر به سمت مقصد در tracert


تاخیر بالا در شروع هاپ

اگر اعداد بالایی را در ابتدای گزارش traceroute مشاهده کردید، ممکن است مشکلی در شبکه لوکال شما وجود داشته باشد. برای حل این مشکل، تلاش‌های عیب‌یابی خود را روی دستگاه‌های شبکه لوکال مانند روترها، سوئیچ‌ها و کابل‌ها متمرکز کنید.

تایم اوت ها در شروع هاپ‌ها

خروجی  traceroute ممکن است پیام‌های request timed out را در یک یا دو hop اول نشان دهد، ولی برای باقیمانده  پرش‌ها  زمان‌های منظم را نشان می‌دهد. این یک اتفاق عادی است و هیچ مشکلی را نشان نمی دهد زیرا برخی از روترها برای پاسخ به درخواست traceroute  پیکربندی نشده اند.


تایم اوت در انتهای گزارش

دلایل متعددی برای تایم اوت در انتهای traceroute وجود دارد، از جمله:

  • فایروال یا دستگاه های امنیتی هدف که درخواست traceroute را مسدود می کنند.
  • مشکلی در مسیر برگشت از کامپیوتر مقصد وجود دارد
  • مشکل connection احتمالی در آدرس‌های مورد نظر.

 

دو سناریو اول بر اتصال شما به شبکه مقصد تأثیر نمی گذارد، اما حالت سوم ممکن است منجر به اتصال ناموفق شود.

این الگوها می تواند به شما در شناسایی منبع مشکل اتصال و اقدامی که ممکن است نیاز به انجام آن باشد کمک کنند. با توجه به اینکه timeout  و latency زیاد در کجا اتفاق می‌افتد در صورتی که خودتان نتوانید مشکل را حل کنید، سرویس‌دهندگان مختلفی برای تماس با آنها وجود دارد.

مشکلات در اولین hopها به این معنی است که ممکن است مجبور شوید با administrator  شبکه خود تماس بگیرید. جهش های بعدی نشان دهنده ارائه دهنده خدمات اینترنت شما (ISP) است و می‌توانید با پشتیبانی آنها تماس بگیرید

آخرین هاپ ها در محدوده شبکه مقصد هستند و دو امکان برای این الگو وجود دارد. اگر کاربر وب سایت یا برنامه وب هستید، می توانید با مدیر سرور  تماس بگیرید یا منتظر بمانید تا مشکل برطرف شود.

از طرف دیگر، مالک وب سایت می تواند با ارائه دهنده هاست خود تماس گرفته و از پشتیبانی فنی برای حل مشکل کمک بخواهد.

 

نکته :  گاهی پشتیبان پارسدو برای بررسی وضعیت شبکه در پاسخ به تیکت شما، می‌خواهد که خروجی traceroute را ارسال کنید.
لطفا طبق آموزش زیر این کار را انجام داده و خروجی را به صورت پیوست در تیکت ارسال نمائید.


آموزش Trace کردن با WinMTR

WinMTR یک ابزار تشخیص و عیب یابی شبکه است که کد باز و استفاده از آن خیلی ساده است. کافیست نرم افزار را اجرا کنید، و در قسمت HOST آن نام دامنه یا  آدرس IP سرور مقصد را تایپ نموده و روی دکمه Start کلیک کنید.

این برنامه به شما امکان می دهد مسیری بین موقعیت مکانی خود و یک آدرس خاص ایجاد کنید تا بتوانید بسته‌ها و فعالیت آنها را در شبکه پیدا کرده و پیگیری کنید.

نتایج به‌دست‌آمده را می‌توان به صورت HTML یا TXT خروجی تهیه کرد، و اگرچه گاهی اوقات ردیابی مسیر ممکن است پیچیده باشد، با این برنامه در عرض چند دقیقه گزارش مفصلی خواهید داشت که شامل تمام اطلاعات مربوط به مسیری است که به تازگی ردیابی کرده اید.

 

ابزار winmtr برای عیب یابی شبکه


بررسی نام ستون‌های نمایش داده شده در گزارش WinMTR :

  • Hostname - نام میزبان که اگر تیک گزینه Resolve names را در تنظیمات بردارید، فقط آدرس های IP گره ها نمایش داده می شود.
  • Nr - شماره میزبان در مسیر را نشان می‌دهد.
  •  Loss% - نسبت بسته های گم شده و ارسال شده به صورت درصد را نمایش می‌دهد.
  • Sent - تعداد بسته های ارسال شده است.
  • Recv - تعداد پاسخ های دریافت شده است.
  • Best - کوتاه ترین زمان پاسخ پس از ارسال درخواست است.
  • Avrg - میانگین زمان پاسخ پس از ارسال درخواست است.
  • Worst - طولانی ترین زمان پاسخ پس از ارسال درخواست است.
  • Last - زمان پاسخ پس از ارسال آخرین درخواست است.

اشتراک گذاری مقاله :

نظرتون برامون مهمه شما اولین نظر رو بنویسید