از آنجایی که دلایل احتمالی متعددی برای یک مشکل شبکه وجود دارد، داشتن دانش و ابزار برای عیب یابی آن به صرفه جویی در زمان کمک می کند.
یکی از رایج ترین و مبتدی ترین ابزارهایی که برای این منظور استفاده می شود دستور 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 را در نوار جستجو تایپ کنید.
با این کار یک پنجره کنسول جدید باز می شود که در آن می توانید دستورات مختلفی از جمله tracert را وارد کنید.
بعد از اینکه tracert را تایپ کردید و Enter را فشار دادید، کنسول نحوه استفاده صحیح از این دستور را به شما نشان می دهد.
ابتدایی ترین راه برای انجام این کار تایپ tracert و درج نام دامنه یا آدرس IP مورد نظر است.
اجرای دستور Traceroute در لینوکس
کاربران لینوکس می توانند دستور traceroute را در ترمینال اجرا کنند. برای انجام این کار، این خط فرمان را با فرمت زیر تایپ کنید:
traceroute [options] [hostname or IP] [packet length]
رایج ترین استفاده از traceroute با تایپ دستور و سپس آدرس مقصد traceroute است. این می تواند یک آدرس IP یا یک نام دامنه باشد، مانند این مثال:
traceroute www.google.com
با استفاده از این خط فرمان، میتوانید مسیری که رایانه شما را به وبسایت Google متصل میکند و جزئیات هر پرش در طول مسیر را ردیابی کنید. نتایج مشابه مثال زیر خواهد بود.
همچنین میتوانید گزینههای پیشرفتهای را به دستور traceroute اضافه کنید تا نتایج شما مشخصتر شود. در اینجا چند گزینه پیشرفته traceroute برای لینوکس آورده شده است:
همچنین می توانید از این گزینه های پیشرفته به صورت جداگانه استفاده کنید یا آنها را در یک پیکربندی ردیابی واحد ترکیب کنید. مثلا:
از دستور man traceroute برای مشاهده سایر اطلاعات مربوط به دستور traceroute، از جمله سایر گزینه های موجود و نحوه استفاده از آنها استفاده کنید.
اجرای دستور Traceroute در macOS
کاربران macOS می توانند دستور traceroute را از طریق برنامه ترمینال اجرا کنند.
دستور traceroute در macOS مشابه فرمان لینوکس عمل می کند. دستور اصلی traceroute و سپس نام میزبان مقصد یا آدرس IP است.
اکثر گزینه های پیشرفته برای macOS tracert مشابه نسخه لینوکس با تفاوت های جزئی هستند.
خرید سرور مجازی لینوکس در پنج موقعیت جغرافیایی ایران، ترکیه، هلند، آلمان و آمریکا با قابلیت تحویل آنی در پارسدو فراهم است.
خواندن نتایج Traceroute
پس از اجرای دستور tracert یا traceroute ، سیستم نتایج را به صورت ردیفی ارائه می کند. گزارش ممکن است بسته به سیستم عامل شما کمی متفاوت به نظر برسد، اما معمولاً اطلاعات یکسانی را نشان می دهند.
یک گزارش 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 مقصد ناموجود است.
بهترین راه برای خواندن گزارش traceroute این است که به جای تمرکز بر روی hop های فردی، به الگوی کل گزارش نگاه کنید.
بیایید به چهار الگوی رایج نتایج traceroute و نحوه ارتباط آنها با شرایط شبکه نگاهی بیندازیم.
افزایش تاخیر به سمت مقصد
ممکن است یک تاخیر (latency) ناگهانی بالا را در یک پرش ببینید که در آن به سمت میزبان مقصد افزایش می یابد. در برخی موارد، ممکن است ستاره هایی را نیز مشاهده کنید که نشان دهنده از دست رفتن بسته (packet loss) است
این الگو نشان میدهد که مشکل از hop است جایی که latency شروع به افزایش کرد.
تاخیر بالا در شروع هاپ
اگر اعداد بالایی را در ابتدای گزارش traceroute مشاهده کردید، ممکن است مشکلی در شبکه لوکال شما وجود داشته باشد. برای حل این مشکل، تلاشهای عیبیابی خود را روی دستگاههای شبکه لوکال مانند روترها، سوئیچها و کابلها متمرکز کنید.
تایم اوت ها در شروع هاپها
خروجی traceroute ممکن است پیامهای request timed out را در یک یا دو hop اول نشان دهد، ولی برای باقیمانده پرشها زمانهای منظم را نشان میدهد. این یک اتفاق عادی است و هیچ مشکلی را نشان نمی دهد زیرا برخی از روترها برای پاسخ به درخواست traceroute پیکربندی نشده اند.
تایم اوت در انتهای گزارش
دلایل متعددی برای تایم اوت در انتهای traceroute وجود دارد، از جمله:
- فایروال یا دستگاه های امنیتی هدف که درخواست traceroute را مسدود می کنند.
- مشکلی در مسیر برگشت از کامپیوتر مقصد وجود دارد
- مشکل connection احتمالی در آدرسهای مورد نظر.
دو سناریو اول بر اتصال شما به شبکه مقصد تأثیر نمی گذارد، اما حالت سوم ممکن است منجر به اتصال ناموفق شود.
این الگوها می تواند به شما در شناسایی منبع مشکل اتصال و اقدامی که ممکن است نیاز به انجام آن باشد کمک کنند. با توجه به اینکه timeout و latency زیاد در کجا اتفاق میافتد در صورتی که خودتان نتوانید مشکل را حل کنید، سرویسدهندگان مختلفی برای تماس با آنها وجود دارد.
مشکلات در اولین hopها به این معنی است که ممکن است مجبور شوید با administrator شبکه خود تماس بگیرید. جهش های بعدی نشان دهنده ارائه دهنده خدمات اینترنت شما (ISP) است و میتوانید با پشتیبانی آنها تماس بگیرید
آخرین هاپ ها در محدوده شبکه مقصد هستند و دو امکان برای این الگو وجود دارد. اگر کاربر وب سایت یا برنامه وب هستید، می توانید با مدیر سرور تماس بگیرید یا منتظر بمانید تا مشکل برطرف شود.
از طرف دیگر، مالک وب سایت می تواند با ارائه دهنده هاست خود تماس گرفته و از پشتیبانی فنی برای حل مشکل کمک بخواهد.
لطفا طبق آموزش زیر این کار را انجام داده و خروجی را به صورت پیوست در تیکت ارسال نمائید.
آموزش Trace کردن با WinMTR
WinMTR یک ابزار تشخیص و عیب یابی شبکه است که کد باز و استفاده از آن خیلی ساده است. کافیست نرم افزار را اجرا کنید، و در قسمت HOST آن نام دامنه یا آدرس IP سرور مقصد را تایپ نموده و روی دکمه Start کلیک کنید.
این برنامه به شما امکان می دهد مسیری بین موقعیت مکانی خود و یک آدرس خاص ایجاد کنید تا بتوانید بستهها و فعالیت آنها را در شبکه پیدا کرده و پیگیری کنید.
نتایج بهدستآمده را میتوان به صورت HTML یا TXT خروجی تهیه کرد، و اگرچه گاهی اوقات ردیابی مسیر ممکن است پیچیده باشد، با این برنامه در عرض چند دقیقه گزارش مفصلی خواهید داشت که شامل تمام اطلاعات مربوط به مسیری است که به تازگی ردیابی کرده اید.
بررسی نام ستونهای نمایش داده شده در گزارش WinMTR :
- Hostname - نام میزبان که اگر تیک گزینه Resolve names را در تنظیمات بردارید، فقط آدرس های IP گره ها نمایش داده می شود.
- Nr - شماره میزبان در مسیر را نشان میدهد.
- Loss% - نسبت بسته های گم شده و ارسال شده به صورت درصد را نمایش میدهد.
- Sent - تعداد بسته های ارسال شده است.
- Recv - تعداد پاسخ های دریافت شده است.
- Best - کوتاه ترین زمان پاسخ پس از ارسال درخواست است.
- Avrg - میانگین زمان پاسخ پس از ارسال درخواست است.
- Worst - طولانی ترین زمان پاسخ پس از ارسال درخواست است.
- Last - زمان پاسخ پس از ارسال آخرین درخواست است.
نظرتون برامون مهمه شما اولین نظر رو بنویسید