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 چیست را بخوانید.
منابع و مستندات رسمی
- استاندارد RFC 792 درباره پروتکل ICMP
- استاندارد RFC 4443 درباره ICMPv6
- مستندات Microsoft درباره دستور ping
ping فقط اولین قدم است؛ ادامه مسیر عیب یابی را در عیب یابی شبکه مرحله به مرحله نوشته ایم. اگر شبکه شرکتتان مدام قطع و وصل می شود و ping ناپایدار است، بازدید و مشاوره رایگان علت را پیدا می کند و برای طراحی دوباره شبکه نصب و راه اندازی شبکه را ببینید.



