正しい答えは、「pingの失敗に失敗した」というようなものはありません。(「Destination unreachable」のような失敗応答は常に出力されます。これは、応答がないこととはまったく異なります。)
Pingユーティリティは、この特定のpingが失われたと判断した場合でも、受信したすべての応答を出力します。順不同で返信を受け取ることは完全に可能です。
でも、私のAndroid携帯電話上で、株式のpingユーティリティは、これらの2つのオプションをサポートしています。
-Dは、すべてのメッセージの前にタイムスタンプを出力します
-O応答が時間内に受信されないメッセージを印刷し、それは頼まれた多かれ少なかれものです。
ただし、これらのオプションはどこでもサポートされていないようです(たとえば、Debian Wheezyには私が知る限りそれらが欠けていますが、Jessieにはあります。busybox ping
サポートしていません)。
以下は、私が管理した出力の例です(重要でないping応答はスキップされました)。
u0_a93@NX505J:/ $ ping -D -O 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
[1440545014.805478] 64 bytes from 8.8.8.8: icmp_seq=1 ttl=244 time=116 ms
~~~~~~~~~~
[1440545142.995443] 64 bytes from 8.8.8.8: icmp_seq=129 ttl=244 time=110 ms
[1440545144.885601] no answer yet for icmp_seq=130
[1440545145.455485] 64 bytes from 8.8.8.8: icmp_seq=131 ttl=244 time=568 ms
[1440545145.455780] 64 bytes from 8.8.8.8: icmp_seq=130 ttl=244 time=1569 ms
[1440545146.005850] 64 bytes from 8.8.8.8: icmp_seq=132 ttl=244 time=119 ms
~~~~~~~~~~
[1440545254.055962] 64 bytes from 8.8.8.8: icmp_seq=240 ttl=244 time=115 ms
^C
--- 8.8.8.8 ping statistics ---
240 packets transmitted, 240 received, 0% packet loss, time 239250ms
rtt min/avg/max/mdev = 109.062/138.757/1569.620/101.608 ms, pipe 2
#130が最初に欠落していると報告され、#131の後に受信され、最後にパケット損失がゼロであると報告されていることに注意してください。
Windowsに関する追加の注意:
Windowsでは、pingは応答をより長く待ってから欠落していると宣言し、後で来る場合は無視するようです。
デフォルトでは、間隔は1秒、タイムアウトは4秒です。したがって
、RTTが低い場合、pingは1秒間隔で送信されます。
RTT> 4の場合、pingは4秒間隔(または5、不明)で送信され、サーバーが応答しなかった場合と同じように、すべて失敗として報告されます。