پینگ Ping چیست و چه کاربردی دارد؟
ابزارهای خطفرمان یک راه عالی و دقیق برای شناسایی مشکلات هستند. ping و ipconfig، nslookup از ابزارهای مهم در دنیای ویندوز و dig و nslookup از ابزارهای مهم دنیای لینوکس هستند. در این مطلب قصد داریم اطلاعات کاملی ارائه دهیم درباره فرمان ping
Ping
ابزار ping سرنام Packet Internet Groper به منظور تایید اینکه TCP/IP به درستی نصب شده، به کارت شبکه متصل شده، پیکربندی آن درست بوده و با شبکه در ارتباط است استفاده میشود. عملکرد این ابزار شباهت زیادی به سیگنال ارسالی نهنگها داشته که منتظر میمانند تا اکو آن سیگنال را دریافت کنند. یک صدای بازگشتی به نهنگ اجازه میدهد اطلاعات زیادی در ارتباط با جسمی که سیگنال را ارسال کرده است به دست آورد.
Ping با ارسال یک سیگنال درخواست اکو (echo request) برای کامپیوتر دیگری، منتظر دریافت پاسخ میماند. کامپیوتر دیگر پس از دریافت سیگنال از طریق پاسخ اکو (echo reply) به آن سیگنال پاسخ میدهد. پروتکلی که برای درخواست و پاسخ دادن به اکو استفاده میشود، ICMP سرنام Internet Control Message Protocol نام دارد. یک پروتکل سبک و روان که برای انتقال پیامهای خطا و اطلاعاتی درباره شبکه استفاده میشود. زمانی که قصد دارید وضعیت ارتباط یک شبکه را ارزیابی کنید، اولین ابزاری که باید از آن استفاده کنید، ping است. فرمان ping دارای پارامترها و گزینههای مختلفی است که به شرح زیر هستند:
ping [-a] [-t] [-n] [-?] [IP address] [host name] [/?]
جدول زیر چند مثال کاربری از نحوه بهکارگیری سوییچهای این فرمان را نشان میدهد.
توضیح | مثالهایی از نحوه اجرای فرمان پینگ |
---|---|
پینگ کردن به نام یک میزبان برای اطمینان حاصل کردن از اینکه دسترسی به اینترنت امکانپذیر است. Google.com یک سایت قابل اعتماد برای چنین آزمایشهایی است. | ping www.google.com |
پینگ به یک آدرس آیپی روی اینترنت برای اطمینان حاصل کردن که دسترسی به اینترنت وجود دارد. آدرس 8.8.8.8 به سادگی حفظ شده و به سرور سامانه نام دامنه عمومی گوگل اشاره دارد. | ping 8.8.8.8 |
تست ترجمه اسامی و نمایش نام میزبان برای اطمینان حاصل کردن که سامانه نام دامنه کار میکند. | ping 8.8.8.8 |
تست ترجمه اسامی و نمایش نام میزبان برای اطمینان حاصل کردن که سامانه نام دامنه کار میکند. | ping -a 8.8.8.8 |
در این مثال 92.10.11.200 آدرس یک میزبان روی زیرشبکهای است که درون سازمان شما قرار دارد. این پینگ نشان میدهد که آیا شما میتوانید به زیرشبکه متصل شوید یا خیر | ping 92.10.11.200 |
در این مثال 192.168.1.1 آدرس پیشفرض گیتوی است. این پینگ نشان میدهد که شما بدون مشکل قادر به اتصال به گیتوی پیشفرض هستید. | ping 192.168.1.1 |
پینگ به آدرس خودتان (loopback) است. 127.0.0.1 مشخص میکند آیا سرویسهای TCP/IP ایستگاه کاری در حال اجرا هستند یا خیر | ping 127.0.0.1 |
روش دیگری که برای پینگ کردن به آدرس خودتان میتوانید استفاده کنید. | ping localhost |
نمایش راهنمای متنی برای فرمان پینگ، شامل ترکیب نحوی و فهرست کاملی از پارامترها | ping -? یا ping /? |
ادامه دادن به پینگ تا وقتی که وقفهای به وجود آید. برای نمایش آماری از این فرمان استفاده میشود، برای متوقف کردن این فرمان باید کلیدهای Ctrl+Break یا Ctrl+C را فشار دهید. | ping -t 192.168.1.1 |
تعریف شمارهای که در یک درخواست اکو که قرار است ارسال شود استفاده میشود. بهطور پیشفرض پینگ چهار درخواست اکو را ارسال میکند. در این مثال تعداد درخواستها به 2 مورد محدود شدهاند. | ping -n 2 192.168.1.1 |
شکل زیر نمونهای از یک پینگ موفق را نشان میدهد.
شبکه IPv6 از نسخه جدیدتر پروتکل ICMP موسوم به ICMPv6 برای این منظور استفاده میکند. در اینجا ما دو نوع پینگ برای سیستمعاملهای مختلف داریم که میتوانند از سوی آدرسهای Ipv6 استفاده شوند.
- Ping6- روی کامیپوترهای لینوکسی که Ipv6 را اجرا میکنند و از ping6 برای اطمینان حاصل پیدا کردن از اینکه یک میزبان Ipv6 در دسترس است استفاده میکنند. زمانی که شما یک آدرس چندپخشی (multicast) را با ping6 پینگ میکنید، شما پاسخی از همه میزبانهای Ipv6 روی یک زیر شبکه دریافت میکنید.
- Ping 6: روی کامپیوترهای ویندوزی، شما از ping با پارامتر 6- زمانی استفاده میکنید که در نظر دارید اطمینان حاصل کنید که ارتباط روی شبکههای Ipv6 به درستی برقرار شده است.
- برای آنکه فرمانهای ping6 و ping -6 روی اینترنت کار کنند، شما مجبور هستید به اینترنت مبتنی بر پروتکل Ipv6 دسترسی داشته باشید. برای این منظور شرکت ارائهدهنده خدمات اینترنتی باید به شکل محلی ارتباط با IPv6 را امکانپذیر کند. البته شما میتوانید از طریق کارگزاری که تونلی برای IPv6 ارائه کرده به اینترنت دسترسی داشته باشید. IPv6 Tunnel Broker، Hurricane Electric یا SixXS از جمله این کارگزارها هستند.
ping -6 [IPV6 address]
شکل زیر نتیجه اجرای فرمان بالا روی کامپیوتری که شرکت ارائه دهنده خدمات دسترسی به اینترنت مبتنی بر Ipv6 را در اختیارش قرار داده است را نشان میدهد.
چگونه باید از ping استفاده کرد؟
ما در مثال خود قصد داریم از خط فرمان ویندوز استفاده کنیم. همچنین شما میتوانید از فرمان ping در PowerShell ویندوز یا اپلیکیشن Terminal در macOS یا هر کدام از توزیعهای لینوکس نیز استفاده کنید.
در ویندوز کلیدهای ترکیبی Windows+R را فشار دهید تا پنجره Run باز شود. در کادر جستجوی این پنجره cmd را تایپ کنید و بعد کلید اینتر را فشار دهید.
در خط فرمان عبارت ping را به همراه یک URL یا آدرس آیپی که قصد آزمايش آن را دارید را تایپ کنید و بعد کلید اینتر را فشار دهید. در تصویر زیر ما از آدرس www.howtogeek.com پینگ گرفته و یک پاسخ عادی را دریافت کردیم.
در خط اول پاسخ دریافت شده اطلاعاتی شامل URLی که شما از آن پینگ گرفتهاید به همراه آدرس آیپی مرتبط با این URL و اندازه بستههای ارسال شده نمایش داده میشود. چهار خط بعدی پاسخهای مستقل دریافت شده از هر بسته را نمایش میدهد که شامل زمان (بر حسب میلی ثانیه) سپری شده برای پاسخ و مدت زمان باقی ماندن (TTL) این بسته است که نشان میدهد چقدر زمان باید سپری شود تا این بسته از بین برود.
در انتها نیز شما نتایج را مشاهده میکنید که نشان میدهد چه تعداد بسته ارسال و دریافت شده، و همچنین حداکثر، حداقل و میانگین زمان پاسخدهی چقدر بوده است.
و در تصویر بعدی، ما از روتر موجود در یک شبکه محلی با استفاده از آدرس آیپی آن پینگ گرفتهایم. پاسخ دریافت شده از این دستگاه نیز یک وضعیت عادی را نشان میدهد.
وقتی ابزار ping از دستگاه مقصد پاسخی دریافت نمیکند، این موضوع را به شما اطلاع میدهد.
و این همان اصلیترین مورد استفاده از فرمان ping است. مسلما مثل اغلب فرامین دیگر، بعضی سویچهای پیشرفته نیز برای ping وجود دارد که شما میتوانید با استفاده از آنها از این فرمان به شیوههای دیگری استفاده کنید. برای مثال، شما میتوانید فرآیند پینگ گرفتن را تا زمانی که خودتان آن را متوقف نکردهاید ادامه دهید، مشخص کنید که چند بار پینگ گرفته شود، تنظیم کنید هر چند وقت یک بار پینگ گرفته شود و چند گزینه سفارشی مشاه دیگر. اما تا مادامی که شما به موارد خاصی از عیب یابی نیاز پیدا نکردهاید، نیازی به این سویچهای پیشرفته نخواهید داشت.
برای آشنایی بیشتر با این سویچها تنها کافی است در خط فرمان عبارت ping /? را تایپ کنید تا فهرستی از آنها را مشاهده کنید.
با Ping چه کارهایی میتوانید انجام دهید؟
حالا که شما با روش استفاده از این فرمان آشنا شدید، بد نیست با برخی از کارهایی که میتوانید با آن انجام دهید نیز آشنا شوید:
- از یک URL (مثل www.howtogeek.com) یا آدرس آیپی پینگ بگیرید تا ببینید آیا میتوانید به این مقصد اینترنتی دسترسی پیدا کنید. اگر یک پاسخ موفقیت آمیز را دریافت کردید، متوجه خواهید شد که تمام دستگاههای بین شما و آن مقصد از جمله آداپتور شبکه موجود در کامپیوتر شما، روتر شما و هر دستگاهی در اینترنت که بین روتر شما و آدرس مقصد قرار گرفته است به درستی کار میکنند. و اگر کنجکاو هستید بیشتر در مورد این مسیرها اطلاعات کسب کنید میتوانید از یک ابزار شبکه دیگر به نام tracert استفاده کنید.
- از یک URL پینگ بگیرید تا آدرس آیپی اختصاص داده شده به آن را پیدا کنید. اگر میخواهید آدرس آیپی یک URL مشخص را به دست آورید، میتوانید از این URL پینگ بگیرید. ابزار ping در ابتدای متن نتیجه فرمان آدرس آیپی مورد نظر را نمایش میدهد.
- از روتر خود پینگ بگیرید و ببینید آیا میتوانید به آن دسترسی پیدا کنید. اگر ping گرفتن از یک مقصد اینترنتی با شکست مواجه شد، میتوانید پینگ گرفتن از روتر را امتحان کنید. یک پاسخ موفقیت آمیز به شما اعلام میکند که شبکه محلی شما به خوبی کار میکند و مشکلی که باعث شده به مقصد اینترنتی نرسید عاملی است که رفع کردن آن از عهده شما خارج است.
- از آدرس loopback خود (127.0.0.1) پینگ بگیرید. اگر نمیتوانید با موفقیت از روتر خود پینگ بگیرید، اما به نظر میرسد روتر روشن است و کار میکند، شما میتوانید از یک آدرس که به loopback معروف است پینگ بگیرید. این آدرس همیشه 127.0.0.1 است و نتیجه موفقیت آمیز پینگ گرفتن از آن به شما نشان میدهد که آداپتور شبکه موجود در کامپیوتر شما و نرم افزار شبکه موجود در سیستم عامل شما به درستی کار میکنند.
توجه: شما ممکن است در زمان پینگ گرفتن از کامپیوترهای دیگر متصل به شبکه محلی خود هیچ پاسخی دریافت نکنید، و این ممکن است به دلیل آن باشد که فایروال موجود در این دستگاهها از ارسال پاسخ آنها به درخواست ping شما جلوگیری کرده باشد. اگر قصد دارید به چنین دستگاههایی پینگ ارسال کنید باید تنظیمات فایروال آنها را برای این کار غیرفعال کنید.
فهرست بالا از یک ساختار بیرون به درون استفاده کرده است که در آن شما ابتدا از دورترین مقصد پینگ میگیرید و سپس مسیر خود را به دستگاههای محلی محدود میکنید. بعضی افراد تمایل دارند که کار خود را ابتدا با آدرس loopback آغاز کرده و سپس به سراغ روتر یا سایر دستگاههای محلی بروند و در نهایت یک آدرس اینترنتی را آزمایش کنند.