دستور Traceroute یک راه مفید برای دیدن اینکه بسته های شما به کجا می روند است، اما چگونه کار می کند و چگونه از آن استفاده می کنید؟
همانطور که از اینترنت استفاده می کنید، فراموش کردن این نکته بسیار آسان است که بخش ها و سرورهای زیادی وجود دارند که به زنده نگه داشتن وب جهانی کمک می کنند. هر بسته ای که ارسال می کنید، از پیام چت گرفته تا عکس گربه، باید از طریق صرافی ها و سرورها عبور کند تا به مقصد برسد.
متأسفانه، هیچ چیز بهتر از زمانی که دیگر نمی توانید به یک وب سایت متصل شوید، شما را به یاد این تنظیمات نمی اندازد. علت ممکن است جایی در کنار شما، در سمت وب سایت یا جایی در میان باشد. و بهترین راه برای فهمیدن اینکه مشکل کجاست استفاده از Traceroute است.
Traceroute چیست؟
Traceroute راهی برای ردیابی مسیری است که بسته های داده شما در طول مسیر خود از طریق اینترنت طی می کنند. هر سیستم عامل مدرن می تواند یک مسیر را ردیابی کند.
هنگامی که یک Traceroute را راه اندازی می کنید، به آن می گویید که می خواهید مسیری را به کدام وب سایت یا سرور ردیابی کنید. به طور معمول، این یک URL وب سایت است که شما سعی می کنید به آن دسترسی پیدا کنید، اما در صورت تمایل می توانید یک آدرس IP نیز به آن بدهید.
هنگامی که Traceroute را راه اندازی کردید، بسته هایی را به مقصد تعیین شده شما ارسال می کند. سپس سفرهای بسته را ثبت می کند و اطلاعات را به رایانه شخصی شما می فرستد، که سپس به شما نشان می دهد که کجا می روند.
اگر میخواهید یک نقص در شبکه پیدا کنید، این واقعاً مفید است. اگر سرور یا صرافی خراب باشد، Traceroute با مشکل مواجه میشود و گزارش میدهد که چیزی درست کار نمیکند. سپس می توانید از این اطلاعات برای تشخیص بهتر مشکل استفاده کنید.
Traceroute چگونه کار می کند؟
Traceroute یک راه مفید برای تشخیص خطاهای شبکه است. با این حال، اختراع Traceroute همه به لطف یک سوء استفاده هوشمندانه با استفاده از متغیر “Time-to-Live” بسته است.
“زمان برای زندگی” یک بسته چیست؟
در حالت ایده آل، زمانی که یک کامپیوتر بسته ای را از مکانی به مکان دیگر ارسال می کند، بدون هیچ مشکلی به آنجا می رسد. سریعترین مسیری را که می تواند از نقطه A تا نقطه B طی می کند و گیر نمی کند یا نگه می دارد.
متأسفانه، شبکه ها می توانند چیزهای دشواری باشند. اگر یک مهندس در هنگام راه اندازی سرور اشتباه کند، ممکن است بسته ها در یک حلقه بی نهایت بین سرورها ارسال شوند. و اگر این اتفاق خیلی زیاد بیفتد، یک شبکه می تواند پر از بسته هایی باشد که برای همیشه دور و بر می گردند.
ذهن هوشمند پشت بسته داده راه حلی برای رفع این مشکل به نام «زمان برای زندگی» یا «TTL» ارائه کرد. به هر بسته، قبل از ارسال به ناشناخته بزرگ، عددی بزرگتر از 0 برای مقدار TTL آن داده می شود. اگر این مقدار به صفر برسد، بسته “مرده” در نظر گرفته می شود و از بین می رود.
هنگامی که بسته در سفر خود ارسال می شود، چندین توقف در سرورهای مختلف خواهد داشت. هر بار که به یک سرور می رسد، یک مقدار از مقدار TTL آن کم می کند. معمولاً، این مقدار TTL روی عددی تنظیم میشود که بسته قبل از رسیدن به 0، بیش از زمان کافی برای رسیدن به مقصد خود داشته باشد. با این حال، اگر بسته وارد یک حلقه شود، TTL در نهایت کاهش مییابد تا زمانی که بسته منقضی شود.
هنگامی که بسته ای منقضی می شود، سروری که با آن پایان می یابد پیامی به نام “ICMP Time Exceeded” به خانه ارسال می کند. این اساساً اعلامیه ای است مبنی بر اینکه بسته به زودی از بین رفته است و به کاربر می گوید که بسته در کجا منقضی شده است تا به عیب یابی کمک کند.
چگونه Time-to-Live یک بسته به Traceroute اجازه کار می دهد
این پیام ICMP Time Exceeded کلید کارکرد Traceroute است. برای شروع، Traceroute یک بسته با TTL تنظیم شده روی 1 ارسال می کند. این به این معنی است که کامپیوتر شما را ترک می کند، به اولین سرور می رسد، یکی را از TTL آن کم می کند، متوجه می شود که TTL آن 0 است و منقضی می شود.
سپس سروری که در آن زمان بسته را مدیریت می کند، یک پیام ICMP Time Exceeded را همراه با مکان آن به رایانه شخصی شما ارسال می کند. سپس رایانه شما مکان سرور را به عنوان اولین قدم به سمت هدف شما ثبت می کند.
سپس یک بسته با TTL تنظیم شده روی 2، 3 و غیره ارسال می کند تا بسته به مقصد شما برسد. هر بسته در مرحله بعدی پاساژ منقضی میشود و هر سرور در طول مسیر بسته منقضی شده را گزارش میکند و به رایانه شما اطلاعاتی را میدهد که نیاز دارد تا مشخص کند بستههای شما به کجا میروند.
Traceroute برای چه مواردی استفاده می شود؟
در سطح پایه، Traceroute به شما امکان می دهد نگاهی به نحوه حرکت بسته ها در یک شبکه بیندازید. چه یک مهندس شبکه باشید که دوبار چک میکند تا همه چیز را همانطور که باید جریان میدهد، یا فقط به نحوه سفر بستههایتان هنگام بازدید از Google علاقهمند هستید، Traceroute راهی است که باید انجام دهید.
با این حال، برای تشخیص خطاها در سیستم نیز مفید است. اگر Traceroute سعی کند با سروری که پاسخگو نیست تماس بگیرد، متوجه خواهد شد که بسته ای که ارسال کرده است برای مدتی پاسخی را آغاز نکرده است. پس از گذشت زمان کافی، Traceroute اعلام میکند که «زمان درخواست به پایان رسیده است»، به این معنی که پاسخ در زمان تعیینشده نمیرسد.
البته، درخواست پایانیافته همیشه به این معنی نیست که سرور از کار افتاده است. گاهی اوقات سرور درخواست های Traceroute را دوست ندارد و آنها را در حین ارسال مسدود می کند. اما اگر نسبتاً مطمئن هستید که هیچ سروری در زنجیره نباید Traceroute را مسدود کند، این یک راه خوب برای تشخیص وبسایت یا سروری است که هنگام تلاش برای اتصال به آن پاسخ نمیدهد.
تفاوت بین Traceroute و Ping چیست؟
خوانندگان ماهر از نظر فنی متوجه خواهند شد که Traceroute بسیار شبیه به یکی دیگر از ابزارهای شبکه مفید، Ping است. با این حال، در حالی که این دو ویژگی کمی همپوشانی دارند، افراد به دلایل مختلف از آنها استفاده می کنند.
همانطور که در بالا توضیح دادیم، Traceroute به شما کمک می کند تا بفهمید یک بسته پس از خروج از کامپیوتر شما کجا می رود. در همین حال، پینگ به شما می گوید که آیا رایانه شما می تواند به سرور خاصی دسترسی پیدا کند یا خیر، و اینکه چقدر طول می کشد تا به آنجا برسید.
به این ترتیب، اگر می خواهید هر بخش از زنجیره شبکه را ببینید، Traceroute جایی است که در آن قرار دارد. در همین حال، اگر فقط میخواهید ببینید آیا سروری پاسخ میدهد، میتوانید آن را پینگ کنید. البته میتوانید این کار را با Traceroute نیز انجام دهید، اما باید مدتی صبر کنید تا در نهایت به سرور شما برسد تا پاسخ مورد نظر خود را دریافت کنید.
نحوه انجام تراسروت
همانطور که قبلاً گفتیم، تمام سیستم عامل های اصلی می توانند Traceroute را انجام دهند. این کار به آسانی باز کردن ترمینال فرمان و وارد کردن فرمان Traceroute است.
برای macOS، شما فقط باید Terminal را باز کنید و عبارت “traceroute” را تایپ کنید و سپس URL یا آدرس IP مقصد را وارد کنید. در لینوکس هم همینطور است، اما ممکن است لازم باشد ابتدا Traceroute را نصب کنید تا بتوانید آن را اجرا کنید.
در سیستم عامل های ویندوز، به همین ترتیب کار می کند، با این تفاوت که تابع “tracert” نامیده می شود. ما دستورات و دستورات دیگر را در راهنمای دستورات مدیریت شبکههای بیسیم در ویندوز پوشش دادیم، بنابراین اگر میخواهید در مورد ابزارهایی که در اختیار دارید بدانید، حتماً آن را بخوانید.
ردیابی بسته های خود با Traceroute
اگر می خواهید ببینید بسته های شما پس از خروج از رایانه شما به کجا می روند، Traceroute راهی برای رفتن است. چه بخواهید مشکل شبکه را تشخیص دهید یا فقط کنجکاو باشید که ببینید بستههای شما به کجا میروند، تنظیم یکی و تماشای دادهها آسان است.