پیکوسیستم خدمات فنی IT

ping چیست؟ کار با دستور ping، معنی زمان و packet loss و عیب یابی اتصال

ping با فرستادن بسته ICMP بررسی می کند یک دستگاه در دسترس است یا نه. معنی time، TTL و packet loss در خروجی، گزینه های مفید در ویندوز و لینوکس، تفاوت با traceroute، و چرا گاهی ping جواب نمی دهد ولی سرویس سالم است.

ping چیست؟ کار با دستور ping، معنی زمان و packet loss و عیب یابی اتصال

ping چیست؟ ابزاری ساده برای پرسیدن «آیا این دستگاه در دسترس است و پیام ها چقدر طول می کشند؟». ping یک بسته کوچک ICMP Echo Request به آدرس مقصد می فرستد و منتظر Echo Reply می ماند. اگر جواب برسد، یعنی مسیر شبکه تا آن دستگاه باز است و دستگاه روشن است؛ زمان رفت و برگشت هم اندازه گرفته می شود. در عیب یابی شبکه معمولاً اولین دستوری است که اجرا می شود.

اجرای ping

ping 8.8.8.8
ping example.com

در ویندوز به صورت پیش فرض چهار بسته فرستاده می شود و تمام می شود. در لینوکس و macOS تا وقتی Ctrl+C نزنید ادامه دارد (یا با -c 4 تعداد را مشخص کنید). نمونه خروجی:

Reply from 8.8.8.8: bytes=32 time=38ms TTL=115
Reply from 8.8.8.8: bytes=32 time=37ms TTL=115
Reply from 8.8.8.8: bytes=32 time=41ms TTL=115

Ping statistics for 8.8.8.8:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
    Approximate round trip times in milli-seconds:
        Minimum = 37ms, Maximum = 41ms, Average = 38ms

خروجی را چطور بخوانیم

مقدار معنی
time زمان رفت و برگشت بسته به میلی ثانیه (latency). در شبکه داخلی معمولاً کمتر از چند میلی ثانیه است
TTL حداکثر تعداد روتر هایی که بسته می تواند عبور کند. هر روتر یکی کم می کند. مقدار اولیه به سیستم عامل مقصد بستگی دارد (مثلاً 64 یا 128)، پس از روی عدد باقی مانده می شود تعداد پرش ها را تخمین زد
Lost / packet loss درصد بسته های بی جواب. در شبکه سالم باید صفر باشد. حتی چند درصد از دست رفتن، تماس صوتی و بازی را خراب می کند
Minimum و Maximum و Average اگر Maximum چند برابر Average باشد، شبکه ناپایدار است (jitter)

جواب Request timed out یعنی بسته جوابی نگرفت. Destination host unreachable معمولاً یعنی خود روتر یا کامپیوتر شما مسیری برای آن مقصد ندارد. پیام های مختلف سرنخ های متفاوتی هستند و باید جدا خوانده شوند.

گزینه های مفید

کار ویندوز لینوکس
ping بی پایان ping -t host ping host
تعداد مشخص ping -n 10 host ping -c 10 host
اندازه بسته ping -l 1400 host ping -s 1400 host
بدون تکه تکه شدن (برای تست MTU) ping -f -l 1400 host ping -M do -s 1400 host
استفاده از IPv4 یا IPv6 ping -4 یا ping -6 ping -4 یا ping -6

تست اندازه بسته با بیت DF مخصوصاً برای پیدا کردن مشکل MTU در تونل های VPN مفید است. اگر بسته 1400 بایتی می گذرد ولی 1472 نه، مسیر یک جایی کوچک تر از MTU عادی است.

ping جواب می دهد ولی سرویس خراب است

ping فقط می گوید دستگاه روی شبکه جواب می دهد. سرویس هایی مثل وب سرور یا دیتابیس ممکن است خراب باشند، در حالی که ping کاملاً سالم است. برای بررسی یک پورت مشخص:

Test-NetConnection example.com -Port 443
nc -vz example.com 443

دستور اول در ویندوز PowerShell و دومی در لینوکس است. اگر ping جواب می دهد و پورت بسته است، سرویس اجرا نیست یا فایروال آن پورت را بسته.

ping جواب نمی دهد ولی همه چیز سالم است

بسیاری از فایروال ها و سرورها ICMP را عمداً می بندند، چون جواب ping اطلاعات می دهد و در حمله های اسکن و DDoS کاربرد دارد. ویندوز هم به صورت پیش فرض به ping از شبکه های دیگر جواب نمی دهد. پس جواب ندادن ping به تنهایی نشانه خرابی نیست. دستگاه را با روش دیگری هم بسنجید: اتصال به پورت سرویس، یا دیدن آن در مانیتورینگ. نمونه قاعده فایروال ICMP را در اصول نوشتن قاعده های فایروال آورده ایم؛ بستن کامل ICMP هم اشتباه است، چون پیام هایی مثل Fragmentation Needed برای کار درست شبکه لازم اند.

ping و traceroute

ping می گوید مقصد در دسترس است یا نه. traceroute (در ویندوز tracert) مسیر بسته را پرش به پرش نشان می دهد تا بدانید کند شدن یا قطع شدن از کجا شروع می شود:

tracert example.com
traceroute example.com
mtr example.com

mtr در لینوکس ترکیب ping و traceroute است و برای پیدا کردن پرشی که بسته از دست می دهد ابزار خوبی است. هنگام خواندن نتیجه یک نکته: بعضی روترها به درخواست های traceroute با اولویت پایین جواب می دهند، پس یک پرش میانی با تأخیر یا بی جواب لزوماً مقصر نیست؛ اگر پرش های بعدی سالم اند، مشکل نیست.

از ping برای مانیتورینگ استفاده کنیم؟

ping برای بررسی ساده در دسترس بودن یک دستگاه شبکه (روتر، سوئیچ، سرور) مناسب است و تقریباً همه سیستم های مانیتورینگ آن را دارند. اما برای مطمئن شدن از سلامت یک سرویس کافی نیست. بهتر است علاوه بر ping، پورت و پاسخ واقعی سرویس را هم بررسی کنید. راه اندازی چنین پایشی را در آموزش نصب Zabbix و اصول هشدار دهی را در مانیتورینگ سرور چیست آورده ایم.

jitter و کیفیت تماس صوتی

برای مکالمه های IP، فقط میانگین time مهم نیست. تغییرات زمان بین بسته ها (jitter) و بسته های گم شده بیشترین اثر را روی کیفیت صدا دارند. یک ping طولانی با آمار نهایی را اجرا کنید:

ping -n 200 10.10.60.1
ping -c 200 -i 0.2 10.10.60.1

اگر Minimum 2 میلی ثانیه و Maximum 80 میلی ثانیه است، شبکه ناپایدار است حتی اگر Average خوب به نظر برسد. در تماس صوتی، تأخیر یک طرفه زیر حدود 150 میلی ثانیه و از دست رفتن بسته نزدیک صفر مطلوب است. اگر تلفن های شرکت صدای بریده دارند، اندازه گیری را روی VLAN صوتی انجام دهید (نصب ایزابل).

پیدا کردن دستگاه های روشن شبکه

برای دیدن اینکه کدام آدرس های یک شبکه در دسترس اند، ping تک تک آدرس ها وقت گیر است. ابزار nmap این کار را سریع انجام می دهد:

nmap -sn 192.168.10.0/24

این دستور بدون اسکن پورت، فقط دستگاه های روشن را فهرست می کند. این کار را فقط روی شبکه ای انجام دهید که خودتان مسئول آن هستید. بعضی دستگاه ها به ping جواب نمی دهند، ولی nmap با روش های دیگری مثل ARP در شبکه محلی آن ها را پیدا می کند.

ping برای IPv6 و اندازه ها

ping برای IPv6 با ICMPv6 کار می کند و در ویندوز و لینوکس با ping -6 (یا ping6 در بعضی لینوکس ها) اجرا می شود. بر خلاف IPv4، ICMPv6 برای کار خود پروتکل ضروری است (کشف همسایه و MTU)، پس بستن کامل آن در فایروال شبکه IPv6 را از کار می اندازد. اگر شبکه شما IPv6 دارد و فقط IPv4 را تست می کنید، مشکل های مخصوص IPv6 را نمی بینید.

ping مداوم برای دیدن قطعی های مقطعی

گاهی شکایت این است که «اینترنت گاهی قطع می شود». برای گرفتن لحظه قطع، یک ping پیوسته با ثبت زمان اجرا کنید:

ping -t 8.8.8.8 | ForEach-Object { "{0} {1}" -f (Get-Date -Format "HH:mm:ss"), $_ } | Tee-Object ping-log.txt

دستور بالا در PowerShell است و هر خط را با ساعت در فایل ذخیره می کند. بعد از یک روز می بینید قطعی ها در چه ساعتی رخ داده اند. اگر همیشه در یک ساعت مشخص است (مثلاً زمان بکاپ یا شروع کار کارمندان)، علت مصرف پهنای باند است. اگر تصادفی است، سراغ کابل، سوئیچ یا ارائه دهنده بروید.

برای دیدن اینکه ping در کدام لایه کار می کند و بقیه ابزارها در کدام، مدل OSI چیست را بخوانید.

منابع و مستندات رسمی

ping فقط اولین قدم است؛ ادامه مسیر عیب یابی را در عیب یابی شبکه مرحله به مرحله نوشته ایم. اگر شبکه شرکتتان مدام قطع و وصل می شود و ping ناپایدار است، بازدید و مشاوره رایگان علت را پیدا می کند و برای طراحی دوباره شبکه نصب و راه اندازی شبکه را ببینید.

نحوه تهیه مقاله ها

مقاله های مرتبط

استعلام

کارتان را بگویید، مسیر و هزینه را می گوییم

چند خط درباره وضعیت فعلی و چیزی که می خواهید بنویسید. یک مهندس خودش با شما تماس می گیرد و درخواست به واحد فروش نمی رود.

  1. 01درخواست را می خوانیم و اگر ابهامی بود تماس می گیریم.
  2. 02در صورت نیاز، بررسی اولیه ریموت یا بازدید انجام می شود.
  3. 03پیشنهاد مکتوب با دامنه کار، زمان بندی و هزینه می فرستیم.

اطلاعات شما فقط برای پاسخ به همین درخواست استفاده می شود. حریم خصوصی