ping مخفف کلمه packet internet groper میباشد. یک ابزار یا برنامه برای اینکه بفهمیم یک ip مشخص یا هاست / سرور از طریق شبکه قابل دسترس است یا نه. دستور پینگ معمولاً برای چک کردن خطاهای شبکه و عیب یابی آن نیز استفاده میشود.
مکانیسم کار کردن آن نیز ساده و در عین حال کارآمد است و اینطور کار میکند که یک پکت را به آدرس ip مشخص شده میفرستد و منتظر میماند تا دستگاه متقابلا پاسخی با ارسال پکت دهد و پس از آن میزان تأخیر در این ارسال و دریافت را نیز خواهد سنجید. این قابلییت تأخیر سنجی با نام latency نیز شناخته میشود.
سپس شما میتوانید بفهمید که آیا هاست مورد نظرتان از شبکه شما قابل دسترسی است یا خیر و همچنین پاسخ دریافتی از هاست با چه سرعتی به شما میرسد. یک پینگ سریع یا با latency کم به این معنی است که اتصالی با میزان پاسخگویی بالاتر دارید که بهخصوص برای اپلیکیشن هایی که زمان برای آنها مهم است بسیار مفید است. در حالت عادی ping با واحد میلی ثانیه اندازهگیری میشود و تأخیر های بیشتر به معنی مشکل در شبکه است و همچنین تأخیر ها وابسته به مسیریابی در شبکه و مکان جغرافیایی شماست برای مثال اگر شما در ایران باشید و یک هاست در ایران را پینگ کنید بسیار سریعتر پاسخ خواهید گرفت تا اینکه از ایران یک هاست را در استرالیا پینگ کنید چرا که به اصطلاح hop های بیشتری در مسیر وجود دارد.
پینگ از روشهای اصلی عیب یادبی برای هر اتصالی است و هر سیستم عامل جدیدی به صورت پیشفرض آن ابزار را بر روی خود داردو میتوانید آن را از طریق خط فرمان سیستم خود استفاده کنید.
توجه داشته باشید که برخی از سرور ها و هاست ها نیز طوری تنظیم شدهاند که پینگ را پاسخ ندهند تا امنیتشان بالاتر برود.
برای استفاده از دستور ping می توانید در منوی استارت ویندوز، CMD را تایپ کنید و از دستور پینگ مانند زیر استفاده کنید:
ping 192.168.1.1
برای دیدن سوئیچ های پینگ دستور زیر را وارد نمایید:
ping -?
بعد از زدن اینتر سوئیچها و کاربردهای آنان به شما نشان داده می شود:
Ping -t:
به طور پیشفرض در هنگام Ping کردن چهار Packet از نوع ICMP که حجم هر کدام 32 بایت است به مقصد فرستاده می شود. در صورتی که بخواهید عمل Ping کردن یک مقصد تا ابد و برای همیشه ادامه داشته باشد می توانید از دستور Ping با سوئیچ –t استفاده کنید. با این فرمان عمل Ping کردن متوقف نخواهد شد مگر اینکه فیوز کنتور برق را بزنید ، یا کامپیوتر خود را Restart کنید یا دکمه ضربدر پنجره CMD را بزنید و یا دکمه های CTRL+C را در پنجره CMD فشار دهید.
Ping –t 192.168.1.4
Ping -a:
چگونه با داشتن IP یک کامپیوتر، Computer Name آن را هم بدست آوریم ؟
اگر به صورت عادی یک IP را Ping کنید پاسخ Ping را بصورت پاسخی از همان IP خواهید دید و نمی توانید Computer Name آنرا ببینید؛ ولی اگر از Ping –a استفاده کنید، Computer Name کامپیوتر مقصد را هم در پاسخ Ping خواهید دید. (در تصویر زیر Ping اول و دوم را با هم مقایسه کنید)
Ping 192.168.1.117
Ping –a 192.168.1.117
دستور Ping -n
همان طور که پیشتر گفتیم به طور پیشفرض چهار بسته دیتا در هنگام Ping کردن ارسال می شود(به عبارت دیگر چهار بار Ping می شود). در بخش Ping –t هم ملاحظه کردید که تا زمانی که Ping را به طور دستی (ctrl + c) متوقف نکنید این عمل ادامه پیدا خواهد کرد. در صورتی که بخواهید به تعداد دلخواه Ping انجام شود و بعد از آن خاتمه یابد باید از دستور Ping –n استفاده کنید. مثلا در تصویر زیر 7 بار IP مورد نظر را Ping کردیم:
Ping –n 7 192.168.1.117
دستور Ping -L
پیش تر گفته شد حجم هر بسته ای که برای Ping ارسال می شود 32 بایت است. با دستور Ping –L می توانید حجم دلخواه خود را برای بسته های ارسالی مشخص کنید. به این نکته توجه کنید که برای نوشتن L از حرف کوچک آن استفاده کنید؛ ما برای خوانا تر بودن از حرف بزرگ L استفاده کردیم . در مثال زیر IP مقصد را با بسته های 100 بایتی Ping کردیم :
Ping –l 100 192.168.1.117
آموزش دستور Ping را با یک مثال:
شما یک IP از یک کلاینت در شبکه دارید و می خواهید با ارسال 12 بسته 100 بایتی ، Computer Name آن را بدست آورید ! در این صورت چگونه باید از دستور Ping استفاده کنید؟
برای انجام این Ping ـه پیچیده به روش ساده زیر عمل می کنیم :
ping -a 192.168.1.4 -l 100 -n 12
عیب یابی شبکه با توجه به Error های دستور ping:
زمانی که ما با استفاده از دستور ping، ارتباط خود با یک IP خاص(مانند 192.168.1.1) را چک می کنیم به طور کلی پنج حالت ممکن وجد دارد:
1- بین ما و IP مورد نظر یک Route(مسیر ارتباطی) وجود دارد و ارتباط بدون مشکل برقرار است.در این صورت در زیر خطی که دستور ping را وارد کرده ایم چهارخط به صورت زیر به ما داده خواهد شد:
Reply from 192.168.1.1 bytes=32 time=14ms TTL=128
اطلاعاتی که از این پیام می توان بدست آورد:
– چهار بسته ی 32 بایتی به دستگاه تحت شبکه ای که IP آن 192.168.1.1 است ارسال شده،دستگاه تحت شبکه به بسته های ارسالی ما پاسخ داده، و پاسخ ها با موفقیت پس از 14 میلی ثانیه دریافت شده است.
– در حالت کلی از عبارت TTL=128 می توان فهمید که بین ما و دستگاه تحت شبکه ای که IP آن 192.168.1.1 است هیچ دستگاه Router ی قرار ندارد و ما با آن دستگاه تحت شبکه در یک LAN قرار داریم.
2- سیستم(PC, Server) ما نمی تواند هیچ بسته ای را به خارج ارسال کند:
Error: General Failor
دلیل این مشکل می تواند قطع یا خارج بودن کابل شبکه ی سیستم ما ( unplug بودن) یا روشن بودن Firewall سیستم باشد.
3- IP مقصد با ما در یک رنج نیست و Gateway هم نداریم:
Error: Transmit Fail.General Failure
در صورتی که در شبکه روتر موجود باشد، ممکن است با set کردن IP روتر به عنوان Gateway مشکل حل شود.
اگر دستگاه تحت شبکه مقصد با ما در یک LAN قرار دارد و فقط IP آن با ما در یک رنج نیست می توان با add کردن یک IP در سیستم که در رنج IP دستگاه تحت شبکه مقصد باشد مشکل را بر طرف کرد.
4- IP مقصد با ما در یک رنج است ولی دستگاه تحت شبکه مقصد یا خاموش است یا unplug است:
Error: Destination host unreachable
فرایند ARP با موفقیت انجام نمی شود
5- بسته ارسال شده.به مقصد هم رسیده است اما دیگر جوابی از مقصد دریافت نشده است:
Error: Request Time Oute
دلایل احتمالی برگشت داده نشدن بسته از مقصد:
– ممکن است firewall مبدا یا مقصد از بازگشت بسته جلوگیری کرده باشد.
– اگر در شبکه روتر وجود دارد و بسته از روتر عبور کرده و به مقصد رسیده، ممکن است در سیستم مقصد Gateway ست نشده باشد و بسته برای بازگشت به مبدا نتواند از روتر عبور کند.باید در مقصد هم Gateway ست شود.
– ممکن است به دلیلی در شبکه Loop ایجاد شده باشد.باید این احتمال را بررسی کرد.