بررسی دستور ping و tracert در ویندوز – پیام های پروتکل ICMP

امیر ساتکین
مدرس : امیر ساتکین
دوره +Network فصل5 درس7
نام درس : بررسی دستور ping و tracert در ویندوز – پیام های پروتکل ICMP
نام فصل : فصل 5 - پروتکل IP و مسیریابی
پیشنیاز :
معرفی این ویدیو آموزشی به دوستان

دستور ping و tracert در ویندوز – ساختار پروتکل ICMP

معرفی پروتکل ICMP

پروتکل ICMP کوتاه شده عبارت Internet Control Message Protocol است و در لایه سه مدل OSI (لایه Network) کار می کند. ICMP در سال ۱۹۸۱ (سه سال قبل از تاسیس شرکت سیسکو در ایالت کالیفرنیای آمریکا و شش سال بعد از تاسیس شرکت مایکروسافت در ایالت نیو مکزیکو) توسط سازمان IETF در سند RFC792 منتشر شد.

کاربرد پروتکل ICMP بررسی در دسترس بودن آدرس های IP شبکه است. ping یکی از دستورات پرکاربرد شبکه و پروتکل ICMP است. هنگام استفاده از دستور پینگ یک دیتای بی معنی و مصلحتی که شامل حروف الفبا و اعداد انگلیسی است برای کامپیوتر مورد نظر ارسال می شود. هیچ اپلیکیشنی در کامپیوتر مقصد به غیر از پروتکل ICMP، منتظر دریافت این دیتا نیست. یک ادمین باهوش و کاربلد اولین کاری که پس از دریافت خبر عدم دسترسی به یک سرویس شبکه انجام می دهد، استفاده از دستور ping برای اطمینان از در دسترس بودن آدرس آی پی کامپیوتریست که سرویس موردنظر و از دسترس خارج شده را در شبکه ارائه می کند. به کمک دستور ping از پروتکل ICMP می توان فهمید که آیا سرویس مورد نظر دچار مشکل شده است یا این شبکه است که نمی تواند ارتباط کلاینت ها را با سرور موردنظر برقرار کند.

کاربرد دیگر این پروتکل، ارسال پیام خطاهای رایج ارتباطی در شبکه TCP/IP است. برای مثال وقتی یک آی پی را پینگ می کنید اگر به هر دلیلی پیام ICMP در مسیر رسیدن به کامپیوتر مقصد دچار مشکل شود و نتواند به مسیر خود در شبکه ادامه دهد، آخرین روتری که ICMP Message را دریافت کرده است به کامپیوتر فرستنده خبر می دهد که ICMP Message به مقصد نرسید و علت آن را توضیح می دهد تا مدیر شبکه متوجه بروز مشکل شود.

 

بررسی انواع پیام در پروتکل ICMP

  • پیام ICMP Echo (ping request) و پیام ICMP Echo Reply (ping reply)

هدف از ارسال پیام ICMP Echo یا همان Ping Request، بررسی در دسترس بودن آدرس IP یک کامپیوتر در شبکه است. پروتکل IP پیام Ping Request را از پروتکل ICMP تحویل گرفته و برای ارسال در شبکه آماده و بسته بندی می کند. برای مثال آدرس کامپیوتر ادمین شبکه، 192.168.1.101 است. ادمین می خواهد آدرس ip کامپیوتر دیگری را که آدرسش 1.1.1.1 است ping کند. هدف از ping کردن این آدرس، اطمینان از روشن و در دسترس بودن آن و در نهایت صحت برقراری ارتباط کامپیوتر با شبکه اینترنت است.

بررسی پیام icmp echo request

  • شماره 1 در تصویر بالا اشاره به آدرس IP کامپیوتری می کند که دستور ping روی آن اجرا شده است (منظور کامپیوتر ping requester است که آدرس آی پی آن برابر با 192.168.1.101 می باشد). 
  • شماره 2 در تصویر بالا اشاره به آدرس IP کامپیوتری می کند که قرار است در دسترس بودن آن در شبکه بررسی شود (منظور کامپیوتر target است که آدرس آی پی آن برابر با 1.1.1.1 می باشد).
  • شماره 3 اشاره به ICMP Message Type می کند. عدد 8 نشان می دهد که این یک پیام ping request است.
  • در پروتکل ICMP هر Message Type می تواند 256 پیام که به Message Code معروف هستند در زیرمجموعه خود داشته باشد. شماره 4 در تصویر بالا اشاره به Code 0 می کند.  

بررسی پیام icmp echo reply

 

 

  • Destination Unreachable

دلایل بسیاری می تواند باعث شود یک مقصد غیر قابل دستیابی شود وظیفه ICMP اینست که به دستگاه مبدا عدم دسترسی به مقصد را اطلاع دهد و تا جای ممکن اطلاعات مربوط به این عدم دسترسی را نمایش دهد این پروتکل باید دقیقا مبدا را مطلع سازد که کدام یک از بسته ها به مقصد نرسیده است این اطلاعات مربوط به عدم دستیابی در Code Field ذخیره می شوند و ارزش زیادی برای مدیران شبکه دارد به عنوان مثال اگر شبکه غیر قابل دسترسی شود شما باید یک پیام همگانی صادر کرده و همه افراد را از این مشکل مطلع سازید اما اگر مشکل تنها خاموشی یک دستکاه باشد تمام دستگاه های دیگر موجود در شبکه همچنان در دسترس قرار دارند در تصویر زیر می توانید انواع این اطلاعات خرابی را به همراه عدد محدوده کد آن ببینید

در حقیقت این محدوده کد ها به Trouble shoot  شبکه به شما کمک خواهد کرد 

  • Source Quench

خاموش بودن مبدا یکی دیگر از پیام ICMP است . گاهی اوقات ممکن یک دیوایس در حالت overload قرار بگیرد و این وضعیت بدین معنی است که وسیله توانایی پاسخگویی و رسیدگی به تمام بسته های دریافتی را ندارد که در اینصورت دستگاه به جای تحمل این شرایط دشوار می تواند یک سری پیام های خاموشی مبدا ICMP ارسال کند و از آنها درخواست کنند که ارسال بسته ها به خودش را متوقف سازند

  • Redirect

در شبکه همیشه همه چیز به یک شکل نمی باشد در صورت بروز تغییرات در شبکه گاهی اوقات بسته ها سرگردان میشوند  در این موقعیت است که پیام Redirect مورد استفاده قرار می گیرد شرایط زیر را در نظر بگیرید

در شرایط بالا بسته ها برای رسیدن به مقصد …. از طریق مسیر دو شبکه عبور می کند اما اگر مسیر جدیدی به شکل زیر پیدا شد

در چنین شرایطی که برای رسیدن به مقصد مسیر بهتری ایجاد شده وجود دارد کار صحیح آگاه کردن شبکه مبدا است که هی راه بهتری وجود دارد تا بسته های بعدی از راه بهتر عبور کنند این پیام هی در واقع یک پیام ICMP redirect  است  

  • Time Exceeded

در انتقال TCP/IP زمان از دو طریق به اتمام  می رسد اولین و مهمترین آن زمانی  است که بسته در یک شبکه شلوغ و یا ناسلم برای مدت طولانی بدون یافتن مسیر سرگردان شود و  در نهایت TTL(Time To Live) بسته IP به انتها رسیده و بسته از بین خواهد رفت پیش از اینکه TCP تشخیص دهد که سگمنت گم شده دستگاهی که سگمنت را از بین برده است پیامی به دستگاه مبدا ارسال می کند که این پیام ICMP Time Exceeded می باشد

  • Parameter Problem

گاهی اوقات بسته IP  به نحو صحیح ساخته نشده و گاهی دیگر یک بسته صحیح و سالم IP در جابه جایی در اثر تداخل الکترومغناطیسی آسیب می بیند که در هر دو مورد نتیجه یکسان است و بسته دریافت شده فاقد ارزش است در حقیقت header پروتکل IP با رشته ارزش های معتبر در یک یا تعداد بیشتری از محدوده ها مطابقت ندارد در چنین شرایطی بهترین کار درخواست ارسال مجدد است پیام ICMP Parameter Problem روش صحیح انجام این عملیات است برای اینکه دستگاه مبدا دقیقا بفهمد کدام بسته آسیب  دیده و از بین رفته است باید در ICMP Parameter Problem اطلاعاتی درباره بسته آسیب دیده وجود داشته باشد که این کار با برداشتن سرآیند آن IP  به علاوه 64 بیت اول Payload(data) و افزودن آنها به پشت پیام ICMP انجام می گیرد

  • Time Stamp و Time Stamp Reply

هدف این دو پیام نه تنها تعیین زمان و تاریخ است بلکه تعیین هزارم ثانیه های سپری شده از نیمه شب در ساعت جهانی است این توانایی امکان ایجاد یک نقطه مرجع مشترک در شبکه را می دهد

استفاده از PING  

Ping  مخفف عبارت Packet Internet Groper  می باشد ping  ابزار کوچک و ساده است که شما می توانید با استفاهد از آن یک IP  را مورد بررسی قرار دهید ping  یک سری پیام های ICMP Echo تولید می کند تا شما متوجه دسترسی یا عدم دسترسی یک میزبان شوید اگر میزبان در دسترس  باشد  میانگین زمان رفت و برگشت (roundtrip) را مشاهده خواهید کرد که اطلاعات سودمندی است از دلایل عدم دریافت پاسخ در ping  می توانم به شرایط زیر اشاره کنم :

  • پاسخ داده نشده زیرا از بین رفته
  • بسته ping احتمالا به بخش های متراکم و  پر ازدحامی در شبکه برخورد کرده و قبل از رسیدن به مقصد از بین رفته است
  • ممکن است به دلایل مشکلات اساسی شبکه قادر به دسترسی به میزبان خود نباشید

ساختار :

ICMP یک پروتکل سبک وزن است . یکی از برداشتهای اشتباه اینست که این پروتکل را جزو پروتکلهای لایه transport  بدانیم؛ در صورتی که پروتکل TCP  و پروتکل UDP تنها پروتکلهای لایه transport میباشند. ICMP جز داخلی پروتکل ip محسوب میشود ICMP جزئی از سرآیند ip محسوب میشود . یک پیام ICMP دارای ساختار زیر است:

  • شاخص نوع (Type Indicator) : 8 بیت اول یک ICMP message مشخص کننده نوع پیام ICMP می باشد . هر کدام از این پیام ها جهتانجام وظیفه خاصی طراحی شده اند در زیر شما انواع پرکاربرد پیام ها و شماره آنها را میبینید :

تصویر یک :

  • محدوده کد(Code Field): 8 بیت بعدی باطلاعات بیشتری از بسته را ارائه می دهدکاربرد این فیلد با توجه نوع پیام ICMP متفاوت است و به نوع تدارکی که باید در گره دریافت کننده لحاظ شود را ارائه می دهد
  • حاصل جمع (Checksum) : این فیلد یک محدوده کنترل 16 بیتی است Checksum یک عملیات ریاضی است که در اطمینان از عدم تغییر محتویات داده نگار در طول مسیر تا مقصد کمک می کند اگر داده در مسیر تغییر کرده باشد نتیجه الگوریتم ریاضی مورد استفاده در مبدا و مقصد یکسان نخواهد بود و این نشان دهنده بسته آسیب دیده و باید دور ریخته شود

استفاده از TRACEROUTE

Traceroute یک ابزار خارق العاده در شبکه است که علاوه بر اینکه تمام دیوایس ها در طول مسیر را شناسایی میکند مدت زمان سپری شده در هر مرحله از حرکت پکت را هم نشان می دهد . احتمالا حدس زده اید که traceroute از پیام ICMP Time Exceeded استفاده می کند روش کار اینست که traceroute یک سری بسته بجود می اورد که دارای آدرس IP  مقصدی هستند که شما تعیین کردید و وارد شبکه می شوند این بسته ها با یک TTL بوجود می آیند و این ابزار شبکه متوجه انقضای بسته ها می شود پیام ICMP را می فرستد

5 2 votes
رأی دهی به مقاله
سوال های آزمون از ویدیو آموزشی و مطالب نوشته شده در صفحه طرح می شوند.
هر پاسخ درست یک امتیاز مثبت
هر پاسخ اشتباه یک امتیاز منفی
آزمون درس بررسی دستور ping و tracert در ویندوز – پیام های پروتکل ICMP

برای دسترسی به تمرین، وارد حساب کاربری شوید.

سوال های تان را بپرسید. پشتیبان های فنی پاسخ می دهند.
خبر نامه
اطلاع از
guest
0 نظرات
Inline Feedbacks
View all comments
1.
عضویت در انجمن سیسکو
2.
عضویت در انجمن لینوکس
3.
عضویت در انجمن امنیت سایبری