گنو/لینوکس

همه چیز درباره دستور ping

نوشته شده توسط اروند طباطبایی

همه افرادی که با اینترنت سروکار دارند و ادمین ها و افرادی که در زمینه‌های IT فعالیت میکنند به خوبی با دستور ping آشنا هستند. این دستور برای چک کردن برقراری ارتباط با شبکه اینترنت و یا برقراری ارتباط با یک کامپیوتر یا سرور به کار می‌رود یا اگر دقیق‌تر بگپییم برای چک کردن ارتباط بین دو میزبان استفاده میشود. بیاید در این مورد کمی دقیق‌تر شویم و در مورد این دستور کاربردی بدانیم.

پینگ چیست و چگونه کار میکند؟

ping مخفف کلمه packet internet groper میباشد. یک ابزار یا برنامه برای اینکه بفهمیم یک ip مشخص یا هاست / سرور از طریق شبکه قابل دسترس است یا نه. دستور پینگ معمولاً برای چک کردن خطاهای شبکه و عیب یابی آن نیز استفاده میشود. مکانیسم کار کردن آن نیز ساده و در عین حال کارآمد است و اینطور کار میکند که یک پکت را به آدرس ip مشخص شده میفرستد و منتظر میماند تا دستگاه متقابلا پاسخی با ارسال پکت دهد و پس از آن میزان تأخیر در این ارسال و دریافت را نیز خواهد سنجید. این قابلییت تأخیر سنجی با نام latency نیز شناخته میشود.

سپس شما میتوانید بفهمید که آیا هاست مورد نظرتان از شبکه شما قابل دسترسی است یا خیر و همچنین پاسخ دریافتی از هاست با چه سرعتی به شما میرسد. یک پینگ سریع یا با latency کم به این معنی است که اتصالی با میزان پاسخگویی بالاتر دارید که به‌خصوص برای اپلیکیشن هایی که زمان برای آن‌ها مهم است بسیار مفید است. در حالت عادی ping با واحد میلی ثانیه اندازه‌گیری می‌شود و تأخیر های بیشتر به معنی مشکل در شبکه است و همچنین تأخیر ها وابسته به مسیریابی در شبکه و مکان جغرافیایی شماست برای مثال اگر شما در ایران باشید و یک هاست در ایران را پینگ کنید بسیار سریعتر پاسخ خواهید گرفت تا اینکه از ایران یک هاست را در استرالیا پینگ کنید چرا که به اصطلاح hop های بیشتری در مسیر وجود دارد.

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

توجه داشته باشید که برخی از سرور ها و هاست ها نیز طوری تنظیم شده‌اند که پینگ را پاسخ ندهند تا امنیتشان بالاتر برود.

در زیر چندین کاربرد و مثال برای شما آورده‌ایم که در اوبونتو ۱۶٫۰۴ تست شده‌اند و میتوانید آن‌ها را در هر توزیع لینوکسی دیگری نیز تست کنید.

دریافت نسخه ping

برای فهمیدن اینکه از چه نسخه‌ای از پینگ استفاده میکنید میتوانید دستور زیر را وارد کنید :

sudo ping -V

ping-version

و این دستور نسخه نصب شده بر روی سیستم شما را نمایش خواهد داد.

انجام دادن ساده Ping

کمی تفاوت دارد که در چه سیستم عاملی پینگ میکنید اما دستور ساده ping فقط یک پارامتر مشخص را دریافت میکند و آن هم آدرس مقصد است که میتواند یک آدرس مانند digispark.ir و یا یک ip مانند ۸٫۸٫۸٫۸ باشد که در زیر نیز نمونه آن آمده است :

ping digispark.ir

 

و این دستور خروجی شبیه شکل زیر دارد

ping-host

برای متوقف شدن دستور ping باید کلید های ctrl + c را بزنید و پس از آن خلاصه پینگ گرفته شده را میتوانید مشاهده کنید که در آن موارد زیر وجود دارد :

min : کمترین زمان در بین همه پینگ های انجام شده از سوی شما

max : بیشترین زمان در بین همه پینگ های انجام شده از سوی شما

avg : زمان متوسط پاسخگویی هاست در کل پینگ های گرفته شده

همچنین چیزهایی مانند Ttl یا زمان زنده بودن هر پینگ نیز نمایش داده خواهد شد.

پینگ از شبکه داخلی یا private و تعیین تعداد پاسخ ها

برای پینگ گرفتن در شبکه شخصی یا داخلی خود نیاز به تایپ آدرس هاست خود در شبکه داخلی دارید باید آدرس ip مورد نظر خود را وارد کرده و پینگ بگیرید. در زیر مثالی آورده شده است که در آن از سوئیچ c نیز استفاده کرده‌ایم که به شمردن مشغول می‌شود و عدد ۲ را به آن نسبت داده‌ایم به این معنی که پس از دو پینگ عملیات متوقف شود.

سایز پکت متفاوت

در حالت پیشفرض پینگ بسته هایی با سایز ۶۴ بایت ارسال میکند اگر از لینوکس استفاده میکنید و در مایکروسافت ویندوز نیز سایز پیشفرض بسته ها ۳۲ بایت است. اگر میخواهید این سایز را تغییر دهید و بسته های سنگین تری ارسال کنید میتوانید از سوئیچ s استفاده کنید؛ همانند زیر :

ping -s 100 -c 6 digispark.ir

در اینجا میبینید که دیگر ۶۴ بایت ارسال نمیشود و بسته ها ۱۰۸ بایتی شده است.

ping-packet-size

افزایش یا کاهش فاصله زمانی

به صورت پیشفرض پینگ یک ثانیه زمان تا ارسال بسته بعدی صبر میکند تا بسته را به مقصد ارسال کنید. شما میتوانید این زمان را کمتر یا زیادتر کنید و برای اینکار از سوئیچ I استفاده میکنیم.

در زیر زمان تأخیر در ارسال بین دو بسته را ۳ ثانیه قرار داده‌ایم :

ping -i 3 google.com

ping-interval

پینگ به همراه سیل

این کاربرای ارسال پکت ها در کمترین زمان ممکن و همچنین ارسال انبوهی از پکت ها انجام می‌شود و میتوان با آن قدرت شبکه را تست کرد. برای اینکار از دستور زیر در ترمینال استفاده کنید :

sudo ping -f alez404.blog.ir

 

packet-flood-ping

ping به همراه خلاصه آمار

اگر میخواد خلاصه‌ای از آمار را مشاهده کنید از دستوری مشابه دستور زیر استفاده کنید که در آن آپشن q این کار را انجام خواهد داد.

Ping -c 5 -q google.com

ping-q-shorf-info

در اینجا به چند گزینه پر استفاده برای دستور پینگ اشاره کردیم. میتوانید آپشن های بیشتری را در قسمت manual این دستور ببینید؛ برای اینکار در لینوکس عبارت man ping را وارد میکنیم.

درباره نویسنده

اروند طباطبایی

بنیانگذار دیجی اسپارک: اولین مرجع تخصصی امبدد سیستم به زبان فارسی / کارشناس سئو و تولید محتوا

هرچه می آموزم میبینم که خیلی کم آموختم. علاقه به رباتیک و تکنولوژی دارم. امیدوارم بتونم دانشی را که آموخته‌ام، به روش‌های مختلفی به کاربران علاقمند منتقل کنم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۳ دیدگاه

  • یه سوالی همیشه ذهن منو مشغول کرده!!! اونم اینه که توی اوبونتو دستور ping ping کجارو پینگ می‌کنه؟؟
    جالبه که توی ویندوز معنی نداره.

    • شبکه محلی رو پینگ میکنه که در حقیقت آدرسش ۱۲۷٫۰٫۵۳٫۵۳ هستش و اگر آپاچی سرورت نصب باشه صفحه دیفالتشو میاره (البته تو اوبونتو این صفحه رو میاره ممکنه توزیع های مختلف متفاوت باشه)