بينج هو أداة شبكية بسيطة ومستخدمة على نطاق واسع عبر المنصات لاختبار ما إذا كان مضيف متاحًا على شبكة بروتوكول الإنترنت (IP). يعمل عن طريق إرسال سلسلة من رسائل بروتوكول تحكم رسائل الإنترنت (ICMP) طلب الصدى إلى المضيف المستهدف وانتظار رد صدى ICMP (أو رد الصدى).
يمكنك تشغيل اختبار بينج لتحديد ما إذا كان جهاز الكمبيوتر الخاص بك يمكنه التواصل مع جهاز كمبيوتر آخر (المضيف المستهدف)؛ فإنه يساعدك على تحديد:
- ما إذا كان المضيف المستهدف متاحًا (نشطًا) أم لا.
- قياس مدى الوقت الذي يستغرقه الحزم للوصول إلى المضيف المستهدف والعودة إلى جهاز الكمبيوتر الخاص بك (وقت الذهاب والإياب (rtt) في التواصل مع المضيف المستهدف) و
- يتم التعبير عن فقد الحزم بنسبة مئوية.
مخرجاته هي قائمة من الردود من المضيف المستهدف جنبًا إلى جنب مع الوقت المستغرق لوصول الحزمة الأخيرة إلى المضيف المستهدف والعودة إلى جهاز الكمبيوتر الخاص بك.
يعرض أيضًا ملخصًا إحصائيًا للاختبار، بما في ذلك عادة عدد الحزم المرسلة وتلك التي تم استقبالها، ونسبة فقدان الحزم؛ الحد الأدنى والأقصى، والمتوسط لأوقات الذهاب والإياب، والانحراف المعياري للمتوسط (mdev). في حال فشل اختبار بينج، سترى رسائل خطأ كمخرجات.
أمثلة على أمر البينغ في Linux
في هذا المقال، سنشرح 12 أمثلة عملية على أمر البينغ لاختبار إمكانية الوصول إلى مضيف على الشبكة.
جدول المحتويات
1. تعقب النطاق أو عنوان IP
يمكنك تشغيل اختبار بسيط لتعقب ما إذا كان الخادم الهدف ping قابلًا للوصول أم لا. يمكنك أيضًا استخدام عنوان IP بدلاً من اسم النطاق كما هو موضح.
$ ping www.google.com OR $ ping 172.217.27.196
الناتج المثالي:
ping www.google.com PING www.google.com (172.217.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.01 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.75 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.37 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=4.99 ms ^C --- www.google.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 4.751/5.030/5.373/0.222 ms ...
من نتائج الأمر أعلاه، كان الـ ping ناجحًا ولم تفقد أي حزم. شيء مهم يجب ملاحظته في ناتج اختبار الـ ping هو الزمن في نهاية كل رد ping.
تفترض أنك تقوم بإجراء اختبارات ping على خوادمك، ثم القيمة هنا مهمة جدًا، اعتمادًا على نوع التطبيق الذي تقوم بتشغيله على الخادم.
إذا، على سبيل المثال، كان لديك تطبيق ويب حيث يؤدي طلب مستخدم واحد إلى العديد من الاستعلامات إلى قواعد بيانات لإنشاء نتائج على واجهة المستخدم، فإن وقت الـ ping المنخفض إلى ذلك الخادم بشكل محدد يعني أن المزيد من البيانات يتم نقلها دون تأخير والعكس صحيح.
2. طلب الصدى للـ Ping
يمكنك تحديد عدد طلبات ECHO_REQUEST التي يتم إرسالها بعد مرور عدد معين من الطلبات باستخدام العلم -c كما هو موضح (في هذه الحالة سيتوقف اختبار البنغ بعد إرسال 5 حزمة).
$ ping -c 5 www.google.com PING www.google.com (172.217.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=4.31 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.35 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=4.06 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=5.20 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.41 ms --- www.google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4006ms rtt min/avg/max/mdev = 4.064/4.464/5.195/0.383 ms
3. تعيين فاصل زمني لفحص البنغ
العلم -i يسمح لك بتعيين فترات زمنية بالثواني بين إرسال كل حزمة، القيمة الافتراضية هي ثانية واحدة.
$ ping -i 3 -c 5 www.google.com PING www.google.com (172.217.27.196) 56(84) bytes of data. 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.71 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=6.19 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.39 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=7.34 ms 64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.77 ms --- www.google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 12014ms rtt min/avg/max/mdev = 4.768/5.879/7.341/0.863 ms
4. هجوم DoS باستخدام تغميق البنغ المعروف أيضًا بـ “Ping of Death”
لتحديد استجابة الشبكة الخاصة بك تحت ظروف الحمل العالي، يمكنك تشغيل “بنغ تغميق” الذي يرسل الطلبات بأسرع ما يمكن، باستخدام مفتاح -f. يمكن للمستخدم الجذري فقط استخدام هذا الخيار، وإلا، استخدم الأمر sudo للحصول على صلاحيات الجذر.
$ sudo ping -f www.google.com OR $ sudo ping -f -i 3 www.google.com #specify interval between requests PING www.google.com (172.217.163.36) 56(84) bytes of data. .......................................................................................................................................................................................^C --- www.google.com ping statistics --- 2331 packets transmitted, 2084 received, 10% packet loss, time 34095ms rtt min/avg/max/mdev = 29.096/29.530/61.474/1.417 ms, pipe 4, ipg/ewma 14.633/29.341 ms
5. بنغ البث في الشبكة المحلية
يمكنك تمكين بنج البث باستخدام الخيار -b، الذي سيحصل على استجابة من جميع عناوين الآي بي المتصلة بشبكة الشبكة المحلية الخاصة بك.
$ ping -b 192.168.0.0
6. تعيين قيمة TTL للبنغ
لتقييد عدد القفزات في الشبكة (وقت الحياة – Time-to-live) التي تتبع الاستطلاعات، استخدم العلم -t
. يمكنك تحديد أي قيمة بين 1 و 255؛ تعيين قيم افتراضية مختلفة لأنظمة التشغيل المختلفة.
كل جهاز توجيه يتلقى الحزمة يطرح على الأقل 1 من العد وإذا كان العد ما زال أكبر من 0، يقوم الجهاز بإعادة توجيه الحزمة إلى القفزة التالية، وإلا فإنه يتخلص منها ويُرسل استجابة ICMP إلى جهاز الكمبيوتر الخاص بك.
في هذا المثال، تم تجاوز وقت الحياة وفشلت اختبار البينغ، كما هو موضح في اللقطة.
$ ping -t 10 www.google.com

7. تعيين حجم حزمة البينغ
يجب أن يكون حجم الحزمة الافتراضي كافيًا لاختبار البينغ، ومع ذلك، يمكنك تغييره لتلبية احتياجات الاختبار الخاصة بك. يمكنك تحديد حجم الحمولة بعدد البايتات باستخدام الخيار -s
، مما يؤدي إلى حجم إجمالي للحزمة بالقيمة المحددة بالإضافة إلى 8 بايتات إضافية لرأس ICMP.
$ ping -s 1000 www.google.com
8. تعيين تحميل البينغ
إذا تمت إضافة تحميل، يرسل البينغ هذا العدد من الحزم دون انتظار الرد. لاحظ أنه يمكن للجذر فقط تحديد تحميل أكثر من 3، وإلا، استخدم أمر sudo للحصول على امتيازات الجذر.
$ sudo ping -l 5 www.google.com
9. تعيين مهلة البينغ
$ ping -W 10 www.google.com
10. تعيين مهلة الانتظار في الثواني
لتعيين مهلة زمنية بالثواني، قبل خروج الـ ping بغض النظر عن عدد الحزم التي تم إرسالها أو استقبالها، استخدم العلم -w
.
$ ping -w 5 www.google.com
11. تصحيح حزم بروتوكول ICMP للـ Ping
الخيار -d
يسمح لك بتمكين تفاصيل حزم IP التصحيحية كما هو موضح.
$ ping -d www.google.com
12. إخراج مفصل للـ Ping
يمكنك تمكين إخراج مفصل باستخدام العلم -v
، على النحو التالي.
$ ping -v www.google.com
ملاحظة: قد لا يستخدم الـ Ping بالضرورة لاختبار الاتصال بالشبكة، بل يخبرك فقط ما إذا كان عنوان IP نشطًا أم لا.
عادة ما يتم استخدامه بالتزامن مع برنامج traceroute، ولكن، MTR – أداة تشخيص شبكات حديثة تجمع بين وظيفة ping و traceroute وتقدم العديد من الميزات الإضافية.
لقائمة شاملة من أدوات الشبكات، تفضل بزيارة: إدارة الشبكات وتصحيح الأخطاء وتصحيحها في لينكس
الملخص
البينج هو طريقة شائعة جدًا لتصحيح إمكانية الوصول إلى الخوادم على الشبكة. في هذه المقالة، قد شرحنا 12 أمثلة عملية لأمر البينج لاختبار إمكانية الوصول إلى جهاز متصل بالشبكة. شاركنا أفكارك من خلال نموذج التعليق أدناه.