Когда мы используем пинг Windows, он покажет сбой пингов. Имеет ли Ubuntu аналогичную функцию?
Неудачный пинг весьма полезен при отладке сети. Как вы, ребята, решаете это? Ну, я хочу только простое решение, я не хочу получать длинный сценарий.
Правильный ответ: нет такой вещи как "неудавшийся потерянный ping". (Ответы отказа как "Место назначения, недостижимое", всегда печатаются, это не отличается ни от какого ответа вообще.)
Проверьте с помощью ping-запросов печать утилиты каждый полученный ответ, даже если это, eatlier решил, что этот определенный ping был потерян. Совершенно возможно получить ответы не в порядке.
Даже на моем телефоне на базе Android, утилита ping запаса поддерживает эти 2 опции:
- D печатает метку времени перед каждым сообщением
- O печатает сообщение, когда ответ не получен вовремя, и это более или менее, что спросили.
Однако эти опции, кажется, не поддерживаются везде (например, Debian Хрипящий испытывает недостаток в них насколько я знаю, в то время как у 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, не уверенные) и все сообщат, как отказавший, то же, как будто сервер не ответил.
Частично отклоняясь от ответа EvgEnZh, но с моей собственной версией:
ping -O -q 8.8.8.8
Это заставляет его печатать сообщение, когда ответ занимает слишком много времени или никогда не возвращается (-O
) и подавляет сообщения когда они вернутся (-q
). В результате вы получаете вывод только тогда, когда пакеты пропадают. Это может упростить поиск периодически возникающих проблем, сделав его таким образом, чтобы вам не приходилось просеивать кучу сообщений «все сработало» в тех немногих местах, которые он сломал.
Может быть, ping -f
подходит для вас. Из руководства по пингу:
-f
Флуд пинг. Для каждого отправленного ECHO_REQUEST выводится точка ''. '', В то время как для каждого полученного ECHO_REPLY выводится обратное пространство. Это обеспечивает быстрое отображение количества отбрасываемых пакетов. Если интервал не задан, он устанавливает интервал в ноль и выводит пакеты так же быстро, как они возвращаются или сто раз в секунду, в зависимости от того, что больше. Только суперпользователь может использовать эту опцию с нулевым интервалом.
blockquote>Для 1 echo_request каждую секунду это будет выглядеть как
ping -i 1 -f 8.8.8.8
Даже с опцией -v, ping этого не делает. См. этот вопрос . Но если это действительно важно (или забавно) для вас, вы можете скачать исходный код, изменить код, чтобы включить подходящий вызов printf. Хорошее место для этого было бы в конце метода 'send_probe' (строка 619 на 12.10) ...
Сначала вы получите исходный код
apt-get source iputils
cd iputils*
Внесите изменения
gedit ping.c
Создайте и установите созданный пакет ...
apt-get install libsysfs-dev
dpkg-buildpackage
Спасибо за все ответы. Кажется, что последний пинг Ubuntu может показать сбой пинга
Еще раз спасибо.