In this Article
يُعد التحقق من توافر المضيف أو اتصال الشبكة حاجة أساسية مهما كانت مهامك. وهناك أداة قوية في متناول يدك لهذا الغرض، وهي ping. في هذه المقالة نستعرض ماهية ping، وما الذي يمكنك استخدامها فيه، وكيفية تنفيذ ping لموقع ويب، وكيفية فهم نتائجها، وما الأدوات الإضافية المعتمدة على ping التي يمكنك استخدامها لمراقبة الشبكة واستكشاف الأعطال وإصلاحها.
ما هي ping، ولماذا هي مهمة؟
Ping (Packet InterNet Gopher) is a network diagnostic tool. It’s a command you type into a command prompt if you have Windows or a terminal if you use MacOS or Linux. After the command, type a space, enter an IP address or a website name (like dataimpulse.com), and press “Enter.” When you do so, an Internet Control Message Protocol (ICMP) echo request is sent to the target server or device. This request is a small data packet. If the target server is online and functioning, it sends an echo-response packet.
When you ping a website or device, you send not one but several echo requests. For example, on Windows, it’s 4 requests by default.
PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: icmp_seq=0 ttl=118 time=17.051 ms 64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=17.199 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=118 time=17.168 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=118 time=17.112 ms 64 bytes from 8.8.8.8: icmp_seq=4 ttl=118 time=17.149 ms ^C --- 8.8.8.8 ping statistics --- 5 packets received 5 packets transmitted, 100.0% packet loss round-trip min/avg/max/stddev = 17.051/17.136/17.199/0.055 ms
Sending several requests is necessary to get accurate results and insights about network conditions.
لكن عليك معرفة كيفية فهم نتائج ping.
How to read ping results
لنوضح أولا معنى كل سطر تراه.
تتعلق الأسطر التالية بالاستجابة الواردة من الوجهة المستهدفة، ويمكن أن تقدم لك رؤى قيمة كثيرة. أولا، يُكتب حجم الحزم التي تتلقاها كاستجابة. في مثالنا، تحتوي الحزم على 32 بايت من البيانات. لكن قد تختلف أحجام الطلبات والاستجابات، إذ يعتمد ذلك على نظام التشغيل وإعدادات الشبكة ونوع الرد وغير ذلك. فعلى Windows، يكون حجم الحزمة الافتراضي 32 بايت، بينما يكون على Linux 56 أو 64 بايت. وإذا كان جهازك والجهاز المستهدف يستخدمان نظامين مختلفين، فستختلف أحجام حزم الطلب والرد. وإذا لم يستجب الخادم المستهدف، فقد تتضمن استجابة ICMP رسالة خطأ ICMP تؤثر في حجم حزمة الرد.
The next part is time. This is the most crucial part of the response as it shows the summary time it takes for the request to go from your device to the target server and then for a response to go back to your gadget. It’s called round trip time (RTT), measured in milliseconds (ms). Generally, the lower the RTT, the better. In the ping summary, you will see minimum, maximum, and average RTT values. The minimum RTT shows the best-case scenario and helps estimate the network’s inherent latency. The average RTT offers you clues about standard network performance.
يمثل RTT الأقصى أسوأ سيناريو محتمل. وقد تساعد مراقبة قيمته في فهم ما يجري على الشبكة. فقد يشير إلى صعوبات مثل فقدان الحزم أو قيود النطاق الترددي أو التحميل الزائد على الجهاز. وإذا كان RTT الأقصى أعلى بوضوح من متوسط RTT، فقد يرتبط ذلك بمسارات غير مثالية. وقد تنجم الارتفاعات المفاجئة عن عدم استقرار الشبكة أو تعطل جهاز توجيه أو انقطاعات مؤقتة. أما RTT الأقصى المرتفع جدا، المقاس بالثواني لا بالمللي ثانية، فقد يدل على تعطل جهاز توجيه أو كابل في مكان ما على مسار الشبكة. ومع ذلك، قد ترتفع قيمته أيضا بسبب مشكلات أداء المضيف المستهدف، لا بسبب مشكلات الشبكة وحدها.
One more metric, Time-to-Live or TTL, shows the maximum number of routers (hops) a data packet can take before it gets discarded. TTL value depends on the operating system. For example, on Windows, 128 is the default TTL value. On Unix-like systems like Linux or MacOS, the number is 64. Cisco network devices, for instance, routers, usually set 255 as the default TTL value. Every time a data packet passes through a router, the TTL value is decremented by 1. In a pinging report, you see the number of unused hops. However, if the TTL reaches 0, a router no longer forwards and drops the given data packet. When a router receives the packet with expired TTL, it generates an ICMP “Time Exceeded” message and sends it to your device. You see a “Time to live exceeded” message. TTL is necessary to prevent network clogging and routing loops when routers endlessly forward a data packet.
قد يمنحك تحليل TTL فكرة عن نظام تشغيل المضيف والمشكلات المحتملة مثل الاختناقات أو ازدحام الشبكة. كما يمكن لبعض جدران الحماية وأجهزة الأمان تعديل قيم TTL، لذا قد تساعدك مراقبتها على فهم إعدادات الشبكة على نحو أفضل. وقد تكون TTL المرتفعة بشكل غير معتاد علامة على أن البيانات تسلك مسارات غير كافية. يمكنك ضبط قيمة TTL إذا كان نظام التشغيل والتطبيقات وإجراءات الأمان تسمح بذلك. ويُستخدم ذلك مثلا لتحديد أجهزة التوجيه ذات الأداء الضعيف. لكن ضبط TTL قد يفضي إلى عواقب سلبية مثل زيادة فقدان الحزم أو مشكلات التوجيه، لذلك من المهم فهم طوبولوجيا الشبكة وامتلاك سبب وجيه لتغيير قيمة TTL.
قد تتضمن نتائج ping مقاييس أخرى بحسب نظام التشغيل. فعلى MacOS وLinux مثلا، يُسند إلى كل حزمة بيانات رقم تسلسلي يبدأ من 0. ويمكنك العثور عليه تحت الاسم icmp_seq.
كيف تخصص أمر ping؟
You can adjust the classic ping command according to your needs. To see your possible options, just type “ping /?” (without quotation marks) and press “Enter.” You will see a list of possible variations.
For example, on Windows, the default number of requests sent to the target host is 4. However, you can use the “-n count” option to set any other number from 1 إلى 4294967295. وعندها سيرسل النظام العدد المحدد من الطلبات بدلا من 4.
انتبه إلى أن كثيرا من الخيارات تعمل عند تنفيذ ping لعناوين IPv4 فقط. وقد تختلف بعض الخيارات أيضا بحسب نظام التشغيل الذي تستخدمه. فإذا كنت تستخدم MacOS وتريد تخصيص عدد الطلبات، فاكتب “ping -c count hostname”.
ping -c 10 8.8.8.8 PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: icmp_seq=0 ttl=118 time=17.051 ms 64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=17.199 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=118 time=17.168 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=118 time=17.112 ms 64 bytes from 8.8.8.8: icmp_seq=4 ttl=118 time=17.149 ms 64 bytes from 8.8.8.8: icmp_seq=5 ttl=118 time=17.051 ms 64 bytes from 8.8.8.8: icmp_seq=6 ttl=118 time=17.199 ms 64 bytes from 8.8.8.8: icmp_seq=7 ttl=118 time=17.168 ms 64 bytes from 8.8.8.8: icmp_seq=8 ttl=118 time=17.112 ms 64 bytes from 8.8.8.8: icmp_seq=9 ttl=118 time=17.149 ms --- 8.8.8.8 ping statistics --- 10 packets received 10 packets transmitted, 0.0% packet loss round-trip min/avg/max/stddev = 17.051/17.136/17.199/0.055 ms
لرؤية كل الخيارات المتاحة في MacOS، اكتب “ping -h” لشرح موجز أو “ping -h extended” لقائمة مفصلة.
ping -h
Usage: ping [-AaLnQqRrvwx] [-c count] [-i interval] [-I interface]
[-l preload] [-m ttl] [-p pattern] [-S src_addr]
[-s packetsize] [-t timeout] [-W waittime] [host]
Options:
-A Use ICMP timestamp instead of ICMP echo
-a Audible ping
-L Loose source routing
-n Numeric output only
-Q Quiet output
-q Quiet output
-R Record route
-r Bypass normal routing tables
-S Set the IP source address of the outgoing packet
-v Verbose output
-w Time to wait for a response, in seconds
-x Exclude network interfaces in the output
-c count Stop after sending count packets
-i interval Wait interval seconds between sending packets
-I interface Use interface as source interface
-l preload Send preload number of packages asap
-m ttl Set the IP Time to Live
-p pattern Fill padding bytes with the specified hexadecimal pattern
-s packetsize Specify the number of data bytes to be sent
-t timeout Specify a timeout, in seconds, before ping exits regardless of
how many packets have been received
-W waittime Time to wait for response, in seconds (after all were sent)
ping -h extended
Usage: ping [-AaLnQqRrvwx] [-c count] [-i interval] [-I interface]
[-l preload] [-m ttl] [-p pattern] [-S src_addr]
[-s packetsize] [-t timeout] [-W waittime] [host]
Options:
-A Use ICMP timestamp instead of ICMP echo
-a Audible ping
-L Loose source routing
-n Numeric output only
-Q Quiet output
-q Quiet output
-R Record route
-r Bypass normal routing tables
-S Set the IP source address of the outgoing packet
-v Verbose output
-w Time to wait for a response, in seconds
-x Exclude network interfaces in the output
-c count Stop after sending count packets
-i interval Wait interval seconds between sending packets
-I interface Use interface as source interface
-l preload Send preload number of packages asap
-m ttl Set the IP Time to Live
-p pattern Fill padding bytes with the specified hexadecimal pattern
-s packetsize Specify the number of data bytes to be sent
-t timeout Specify a timeout, in seconds, before ping exits regardless of
how many packets have been received
-W waittime Time to wait for response, in seconds (after all were sent)
Extended options:
-C Clear counters before sending
-H Print histogram of response times
-M [do|dont] Set DF bit on IP packets
-o Report outstanding replies
-O Print time-stamped output
-P [in|out] Print ICMP packets received/sent
-T [tsonly] Print timestamp(s) of returned packets
-Z Set the SO_MARK option on socket
قد يساعدك تخصيص أمر ping على اختبار أداء الشبكة وفهم الاتصال بصورة أفضل والحصول على نتائج أدق عند الحاجة إلى مقارنة أداء الشبكة في أنظمة مختلفة.
Ping: الاستخدامات
Ping أداة سهلة الاستخدام ومتاحة افتراضيا في معظم أجهزة الكمبيوتر، ولا تحتاج إلى أدوات إضافية لاستخدامها. وهي مجانية وتُحدّث بانتظام، كما أنها أداة غنية بالمعلومات ومتعددة الاستخدامات لأغراض كثيرة، منها:
– اختبار اتصال الشبكة
يُعد تنفيذ ping طريقة بسيطة وفعالة للتحقق مما إذا كان المضيف أو التطبيق أو الخدمة المستهدفة متاحا، وما إذا كان الاتصال يعمل.
– مراقبة الشبكة
يساعد تنفيذ ping بانتظام على تحليل أداء الشبكة بمرور الوقت ووضع خط أساس، كما يفيد في تحديد أنماط الشبكة ومشكلاتها.
– قياس السرعة
توفر Ping معلومات مفصلة عن سرعة الشبكة، وهي أداة مفيدة لتحديد مشكلات السرعة المحتملة.
– استكشاف الأعطال وإصلاحها
يمكن أن يساعد تنفيذ ping على تحديد المشكلات وأسبابها، سواء أكانت المشكلة في جانب المضيف المستهدف أم في عدم عمل الشبكة. وتفيد الخيارات الإضافية أيضا.
تنويعات أمر ping
أمر ping التقليدي ليس الخيار الوحيد المتاح. فهناك تنويعات أخرى تلائم بعض الحالات بصورة أفضل بكثير.
fping
تُعد fping مثالية عندما تحتاج إلى تنفيذ ping لعدد كبير من المضيفين. ما عليك سوى كتابة أسماء المضيفين أو عناوين IP، أو كتابة اسم ملف يحتوي على قائمة المضيفين المستهدفين. وعلى خلاف الأمر التقليدي، تستخدم Fping تنفيذ ping متوازيا، إذ ترسل الطلبات ولا تنتظر الاستجابة، بل تتابع بإرسال طلب إلى الخادم التالي في القائمة. وهذا يعني حصولك على النتائج بسرعة أكبر. إذا كنت تجري اختبار تحميل أو اختبار شبكة، فإن fping هي الخيار المناسب.
hping and hping3
تتيح hping ونظيرتها الحديثة hping3 إنشاء حزم TCP/IP مخصصة. صُممت hping الأصلية لـ Linux والأنظمة الأخرى الشبيهة بـ Unix، ولذلك تعمل مع بعض القيود على Windows. وبما أن hping3 أكثر توافقا مع أنظمة تشغيل متنوعة، ومنها Windows، وتدعم بروتوكولات أكثر إلى جانب ICMP، فإنها تُعد أكثر مرونة واستخداما حاليا. ومع ذلك، تفيد الأداتان في اختبار جدار الحماية وفحص المنافذ واختبار حجب الخدمة (DoS) وغير ذلك.
nping
هذا الأمر أحدث بكثير. وهو ينقل تنفيذ ping إلى مستوى جديد، إذ إن nping لا تنشئ حزم البيانات وتدعم بروتوكولات عديدة، منها DNS وHTTP وFTP وغيرها، فحسب، بل تحلل أيضا الاستجابات المستلمة من المضيف المستهدف. وتقدم معلومات مفصلة عن اتصال الشبكة والكمون.
psping
تفيد psping إذا أردت قياس الكمون أو النطاق الترددي واكتشاف فقدان الحزم بين نقطتي نهاية على الشبكة. وهذه الأداة متوافقة مع أنظمة تشغيل عديدة وتدعم بروتوكولات كثيرة.
انتبه إلى أن ping التقليدية مثبّتة افتراضيا على جهاز الكمبيوتر لديك. وقد لا تتوفر التنويعات الأخرى إلا إذا ثبتّها بنفسك.
انتحال ping
انتحال ping نوع من الهجمات. يرسل المحتالون عددا كبيرا من حزم ICMP إلى المضيف المستهدف لاستنزاف موارده وجعله غير متاح للمستخدمين. ومن السهل نسبيا تنفيذ انتحال ping، لكنه فعال. وغالبا ما يُستخدم كأحد مكونات هجوم DDoS. كما يُستخدم لمعرفة طوبولوجيا الشبكة وجمع معلومات عن المنافذ المفتوحة والمضيفين المتاحين وغير ذلك، كي يتمكن المهاجمون من التخطيط للهجوم التالي. وهو أيضا وسيلة لتوزيع الشيفرة الخبيثة أو البرمجيات الضارة داخل النظام المستهدف. ويستخدم المهاجمون غالبا عناوين IP مزورة لإخفاء مصدر الانتحال وجعل الطلبات تبدو صادرة من عناوين مختلفة. وبهذه الطريقة، يحاول المخترقون تجاوز آليات الأمان.
بروكسي لتنفيذ ping
يُستخدم البروكسي على نطاق واسع لتنفيذ ping، ولهذا أسباب وجيهة. ولاستخدام ping بفعالية في اختبار اتصال الشبكة واستكشاف الأعطال وإصلاحها، تحتاج إلى جعل كل حركة المرور تبدو صادرة من مواقع وشبكات مختلفة. سيساعدك ذلك على فهم صحة الشبكة بصورة أفضل، والبروكسي حليفك في ذلك. يمكنك العثور على بروكسي موثوق لدى DataImpulse. معنا، تحصل على أكثر من 15 مليون عنوان IP من 195 موقعا، وبذلك يمكنك توزيع طلباتك بينها بفعالية. لكن تذكر أن تستخدم البروكسي للأغراض المشروعة فقط. ولا تتحمل DataImpulse مسؤولية الاستخدام غير القانوني للبروكسي.
Ping: أسئلة شائعة
هل ping والكمون شيء واحد؟
توجد مصادر كثيرة تذكر أن ping=latency. وهما مرتبطان بالفعل، لكنهما ليسا الشيء نفسه. تقيس Ping قيمة RTT، أي الزمن اللازم لانتقال حزم البيانات من نقطة المنشأ إلى المضيف المستهدف ثم عودتها. ويُعرّف الكمون بأنه تأخير في اتجاه واحد، أي الزمن اللازم لانتقال البيانات من نقطة المنشأ إلى المضيف المستهدف. علاوة على ذلك، تقدم ping معلومات عن مضيف محدد فقط، في حين أن الكمون مصطلح أوسع لأداء الشبكة الكلي. يقترح البعض قسمة RTT على 2 للحصول على قيمة الكمون، لكن هذه طريقة تقريبية جدا. فقد تسلك طلبات Ping واستجاباتها مسارات مختلفة، أو قد يوجد تأخير في المعالجة لدى المضيف المستهدف يؤثر في RTT. كما يجب أن تكون الساعات في طرفك والطرف المستهدف متزامنة بدقة، لأن أي انحراف قد يسبب أخطاء. لذلك، ينبغي استخدام أدوات مثل بروتوكولات القياس النشط أحادي الاتجاه مثل OWAMP وبروتوكولات مزامنة الوقت مثل PTP لقياس الكمون.
هل ping وtraceroute شيء واحد؟
كل من ping وtraceroute أداتان لتشخيص الشبكات وغالبا ما تستخدمان معا، لكنهما مختلفتان. Ping أداة عملية لمراقبة اتصال الشبكة والتحقق من توافر المضيف. أما Traceroute فتتتبع مسار حزم البيانات من مصدر المنشأ إلى الوجهة المستهدفة. وهي ترسل سلسلة من حزم بيانات UDP أو ICMP بقيم TTL تزداد تدريجيا، كي تنتهي مهلة الحزم وتُحذف عند قفزات مختلفة. تجمع الأداة عناوين IP لكل جهاز توجيه وقيمة RTT المقابلة. وبذلك، تقدم traceroute معلومات مفصلة عن مسار الشبكة بين المصدر والوجهة. وهي أداة ضرورية لتحديد حلقات التوجيه والازدحام والإعدادات الخاطئة للشبكة.
هل يمكنني تنفيذ ping للمضيف المستهدف من هاتفي الذكي؟
نعم، يمكنك تنفيذ ping للمضيف المستهدف باستخدام جهاز محمول. تحتاج إلى تثبيت تطبيق مخصص، مثل “Termius” لنظام iOS أو “Ping” لنظام Android. تتوفر تطبيقات أخرى أيضا. ثم اتبع تعليمات التطبيق الذي اخترته.
ما المقصود بـ ping في Discord؟
في Discord، تعني ping الإشارة إلى مستخدم أو مجموعة مستخدمين أو دور، أو مجرد إشارة خاصة باستخدام الرمز “@”. وعندما تشير إلى مستخدم أو مجموعة مستخدمين، يتلقون إشعارا يسمى أيضا ping. ويستخدم اللاعبون المصطلح غالبا للدلالة على RTT، لأنه قياس أساسي لسلاسة اللعب. وتعني ping الجيدة أن RTT يقع بين 15 و45 ms، بينما تجعل ping السيئة، التي تتجاوز 100 ms، اللعب الجيد مستحيلا في الغالب.
الخلاصة
أحيانا لا تحتاج إلى إنفاق آلاف الدولارات على أدوات جديدة. كل ما تحتاج إليه هو فتح موجّه الأوامر أو Terminal، ودفع 0 سنت، وكتابة 4 أحرف فقط، وهي ping، لتحصل على رؤى قيّمة كثيرة حول توافر المضيف المستهدف واتصال الشبكة والكمون وغير ذلك. إنها أداة بسيطة وفعالة يمكنك استخدامها على أجهزة وأنظمة تشغيل متنوعة، ودمجها مع أدوات أخرى، ومنها البروكسي. DataImpulse جاهزة لتزويدك ببروكسي تم الحصول عليه بطريقة قانونية لتحسين تجربتك مع ping. ما عليك سوى الضغط على زر “جرّب الآن” button in the top-right corner of the screen, or write to us at [email protected] if you have any questions.



