سوال:
سلام خسته نباشید
سوالی از حضورتون داشتم :
مفهوم ttl را متوجه شده ام ولی این سوال را داشتم که مقدار TTl به چه چیزی بستگی دارد؟
مقادیر
آن در دستور ping متفادت است با علم بر این که در شبکه های بی سیم وروتر و
اینترنت 64 و 128 و 255 است چطور در دستور Ping مقادیری متفاوت به دست
میاید؟
با تشکر
جواب:
1)
روش شناسایی با TTL:هرچند این روش اطلاعات دقیقی درباره سیستم عامل کامپیوتر مورد نظر نمی دهد ولی حداقل می توانید تفاوتهای بین سیستم عامل های مختلف مثل Windows یا Unix را متوجه شوید.
ارزش TTL چیست؟
توسط فرمان زیر می توانید ارزش TTL یک بسته اطلاعاتی که از کامپیوتر مقصد دریافت می شود را ببینید:
خروجی چیزی ، شبیه به عبارت زیر است:
Reply from 203.197.102.1:bytes=32 time<1ms TTL=128
Reply from 203.197.102.1:bytes=32 time<1ms TTL=128
Reply from 203.197.102.1:bytes=32 time<1ms TTL=128
ping statistics for 127.0.0.1
packets:sent=4,Received=4,Lost=0(0%loss
Approximate round trip times in milli-seconds
Minimum=5ms,Maximum=12ms,Average=6ms
Windows 2000 Intel 128
Linux 2.2x Intel 64
AIX 4.3.x IBM/R6000 60
Cisco 12.0 2514 255
IRIX 6.x SGI 60
Netware 4.11 Intel 128
هرچند این روش ساده است ولی نقاط ضعفی هم دارد که می شود به TTL های جعلی،نشان ندادن دقیق سیستم عامل و نسخه آن اشاره کرد و همچنین در مقابل سیستم های حرفه ای کارآمد نمی باشد چرا که از روش Ping استفاده شده است.
مقادیر TTL
TTL for windows 2000 is:128
TTL for DigitalUnix 4.0 Alpa is:60
TTL for Linux 2.2x intel is:64
TTL for Cisco 11. 7507 is:60TTL for IRIX is:60
Cisco= 245
Solaris=54
2)
.مقدار اوليۀ TTL تعيين مي كند كه آن بستۀ IP پس از عبور از چند مسير ياب عمرش به پايان رسيده و بايد حذف شود.وقتي يك مسير ياب بسته اي را دريافت مي كند يك واحد از مقدار اين فيلد كم مي كند.بعنوان مثال اگر يك بستۀ IP با مقدار TTL=30 به يك مسير ياب وارد شود،آن مسير ياب مقدار TTL آن را به 29 كاهش مي دهد و مجددا در آن فيلد درج مي نمايد .در طول مسير تمام مسير يابها اين كار را انجام مي دهند.اگر در يك مسير ياب پس از كاهش TTL،مقدار صفر حاصل شود ،بسته حذف شده و يك پيغام ICMP به نام ICMP Time Exceeded به سمت مبدا آن بسته بر مي گردد.فيلد TTL بدين منظور در نظر گرفته شده كه هر بسته طول عمر محدودي داشته باشدبه هر دليلي سرگردان روي شبكه نچرخد،بنابراين وجود اين فيلد در هر بسته ضروري است وعددي كه در مبدا بسته در اين فيلد درج مي شود بدين معناست كه تعداد مسير يابها از مبدا تا مقصد نبايد از اين عدد بيشتر شود .در كنار وظيفۀ اصلي فيلد TTL ،از آن مي توان براي تغيير مسير (Trace Route ) استفاده كرد ،بدين صورت كه از ماشين مبداء بسته اي با فيلد TTL=1 ارسال مي شود ؛اين بسته پس از دريافت در اولين مسير ياب حذف شده و پيام ICMP Time Exceeded از آن مسير ياب به مبداء بسته بر مي گردد .در اين پيام آدرس مسير ياب حذف كنندۀ بسته وجود دارد بنابراين هويت اولين مسير ياب واقع بر روي مسير بدست مي آيد.پس از اين كار بسته اي با فيلد TTL=2 ارسال مي شود .در اين حالت بستۀ IP، در دومين مسير ياب واقع بر مسير حذف شده و يك پيام ICMP مبني بر حذف آن بر خواهد گشت. پس هويت دومين مسير ياب نيز مشخص مي شود.اين عمل به ازاي مقادير TTL=3,4,5,… تكرار مي شود تا جائي كه بسته به مقصد برسد.
3)
نکته1:مدت TTL برحسب مشخصات هاست تعیین میگردد .به عنوان مثال اگر هاست مورد نظر Windows XP باشد مقدار TTL برابر 128 است.ماکزیمم این مقدار نیز 256 میباشد.
نکته2:در میسر زیر در Registry ویندوز xpمیتوان مقدار TTL را تغییر داد.
- مقدار پيش فرض ويندوز XP عدد 128 است.
4)
1) تعداد روترهای موجود در مسیر بین بین اون دو تا دستگاه.که اون بسته ارسالی از هر روتری که رد میشه از عددش یکی کم میشه.پیش فرض این عدد 128 هست که اگر همین عدد رو برگردونه یعنی اینکه بین مبدا و مقصد هیچ روتری نبوده(مثلا کلاینتهای یک شبکه محلی)
2)کار بعدی TTL جلوگیری از loop شدن اون بسته است.اگر یه بسته بین چندتا روتر دست به دست بشه(بنا به هر دلیل) عدد TTL یکی یکی کم میشه تا به 1 برسه که اگه به 1 برسه اون بسته از مسیر حذف میشه.
TTL برای محصولات مایکروسافت 128 و محصولات سیسکو و محصولات موجود در اینترنت 256 و برای لینوکس 64 است.
نظرات شما عزیزان: