چگونه بسته TCPIP ارسالی تا مقصد را رهگیری کنیم؟
معرفی دستور Tracert
شکل کلی دستور و سوئیچ های آن
این ابزار تشخیصی مسیر طی شده بسته اطلاعاتی به مقصد را با ارسال Echo Request پروتکل ICMP یا پیامهای ICMPv6 به مقصد با افزایش تدریجی مقادیر فیلد TTL تعیین میکند.
هر روتر در طول مسیر باید قبل از ارسال، TTL را در یک بسته IP حداقل ۱ کاهش دهد. در واقع، TTL یک شمارنده پیوند حداکثر است. زمانی که TTL روی یک بسته به ۰ رسید، انتظار می رود روتر یک پیام ICMP time Exceeded را به کامپیوتر مبدأ برگرداند.
دستور فوق از فیلد TTL در قالب IP و پیام های ICMP Echo Request و ICMP Time Exceeded به منظور تعیین مسیر مبداء تا مقصد استفاده می نماید.
عملکرد این دستور مشابه ping است و از پیام های ICMP برای یافتن هر یک از دستگاه های موجود در مسیر بسته اطلاعاتی ، استفاده می نماید.به عبارتی TTL ، عدد صحیحی است که حداکثر تعدادhop (گام) هر بسته اطلاعاتی را مشخص می نماید.
مقدار TTL درسیستم های مبتنی بر مایکروسافت بطور پیش فرض ۱۲۸ است که با گذر از هر مسیر یاب، یک واحد از آن کسر می شود.حداکثر تعداد گام که در این دستور پشتیبانی می شود ۳۰ است که توسط سوئیچ h می توان حداکثر تعداد گام را تعیین نمود.
با این حال، برخی از مسیریابها پیامهای Exceeded را برای بستههای دارای مقادیر TTL منقضی شده برمیگردانند و برای دستور tracert نامرئی هستند. در این حالت، یک ردیف از ستاره (*) برای آن پرش نمایش داده می شود.
شکل کلی tracert بصورت زیر است :
tracert [/d] [/h <maximumhops>] [/w <timeout>] [/S <srcaddr>] [/4][/6] targetname
سوییچ | توصیف سوییچ |
d/ | تلاش برای resolve آدرس های IP روترهای میانی متوقف می کند. این باعث افزایش سرعت بازگشت نتایج می شود. |
< h <maximumhops/ | حداکثر تعداد گام (Hop) در مسیر برای جستجوی مقصد را مشخص می کند. پیش فرض ۳۰ گام است. |
<w <timeout/ | مدت زمانی را بر حسب میلی ثانیه مشخص می کند که منتظر دریافت پیام ICMP Exceeded یا Echo Reply مربوط به یک پیام Echo Request معین است.
در صورت عدم دریافت در بازه زمانی، یک ستاره (*) نمایش داده می شود. تایم اوت پیش فرض ۴۰۰۰ (۴ ثانیه) است.در صورت عدم دریافت در بازه زمانی، یک ستاره (*) نمایش داده می شود. تایم اوت پیش فرض ۴۰۰۰ (۴ ثانیه) است. |
<S <srcaddr/ | آدرس مبداء مورد استفاده در پیامهای Echo Request را مشخص میکند. از این پارامتر فقط هنگام ردیابی آدرس های IPv6 به کار می رود. |
۴/ | مشخص می کند که tracert.exe می تواند فقط از IPv4 برای این ردیابی استفاده کند. |
۶/ | مشخص می کند که tracert.exe می تواند فقط از IPv6 برای این ردیابی استفاده کند. |
<targetname> | مقصد را بر اساس آدرس IP یا نام میزبان مشخص میکند. |
?/ | راهنمای دستور را در خط فرمان نمایش می دهد. |
برای نمونه مسیر طی شده بسته IP جهت رسیدن به www.google.com:
دستور traceroute در تجهیزات سیسکو نیز می تواند برای شناسایی مسیری که بسته برای رسیدن به هدف خود استفاده می کند، استفاده شود. همه روترها را در مسیر میزبان مبدا تا میزبان مقصد شناسایی می کند و می تواند در هنگام عیب یابی مشکلات شبکه مفید باشد.
با استفاده از این دستور می توانید بفهمید که کدام روتر در مسیر یک هدف غیرقابل دسترس باید به عنوان علت احتمالی خرابی شبکه مورد بررسی دقیق تری قرار گیرد.
این دستور در سیستم عامل لینوکس با نام tracepath قابل استفاده می باشد.این دستور در IPV6 با نام های traceroute6 و tracert6 مورد استفاده قرار میگیرد.
این دستور تنها در صورتی در دسترس است که پروتکل اینترنت (TCP/IP) به عنوان جزئی در ویژگی های یک آداپتور شبکه در Network Connections نصب شده باشد.برای ردیابی یک مسیر و ارائه تاخیر شبکه و از دست دادن بسته برای هر روتر و لینک موجود در مسیر، از دستور pathping استفاده کنید.
معرفی و آموزش این دستور در دوره های نتورک پلاس و CCNA انجام می گیرد. برای اطلاع از تقویم آموزشی اینجا کلیک کنید.