Книга: Linux глазами хакера
5.1.2. ping
5.1.2. ping
Одна из часто используемых администраторами команд — ping
. Она посылает ICMP-пакеты в виде эхо-запросов на указанную систему для определения пропускной способности сети.
Например, выполните команду ping 195.18.1.41
и в ответ вы получите следующую информацию:
PING 195.18.1.41 (195.18.1.41) from 195.18.1.41 : 56(84) bytes of data.
64 bytes from 195.18.1.41: icmp_seq=1 ttl=64 time=0.102 ms
64 bytes from 195.18.1.41: icmp_seq=2 ttl=64 time=0.094 ms
64 bytes from 195.18.1.41: icmp_seq=3 ttl=64 time=0.094 ms
64 bytes from 195.18.1.41: icmp_seq=4 ttl=64 time=0.095 ms
--- 195.18.1.41 ping statistics ---
4 packets transmitted, 4 received, 0% loss, time 3013 ms
rtt min/avg/max/mdev = 0.094/0.096/0.102/0.007 ms
Первая строка информационная, в ней отображается IP-адрес компьютера, с которым будет происходить обмен сообщениями (если вы указали символьное имя хоста, то простой командой ping
можно узнать его IP-адрес). В конце строки находится размер пакетов данных, которые будут отправляться.
Следом на экране начнут появляться строки типа:
64 bytes from 195.18.1.41: icmp_seq=1 ttl=64 time=0.102 ms
Отсюда мы узнаем, что было получено 64 байта с адреса 195.18.1.41. После двоеточия отображаются следующие параметры:
? icmp_seq
— номер пакета. Это значение должно последовательно увеличиваться на 1. Если какой-либо номер отсутствует, то это означает, что пакет потерялся в Интернете и не дошел до адресата или ответ не вернулся к вам. Это может быть из-за неустойчивой работы оборудования, плохого кабельного соединения или один из маршрутизаторов в сети между компьютерами выбрал неправильный путь, и пакет не достиг места назначения;
? ttl
— время жизни пакета. При отправке пакета ему отводится определенное время жизни, которое задается числом. По умолчанию в большинстве систем ttl
равно 64, но значение может быть изменено. Каждый маршрутизатор при передаче пакета уменьшает это число. Когда оно становится равным нулю, пакет считается заблудившимся и уничтожается. Таким образом, по этому значению можно приблизительно сказать, сколько маршрутизаторов встретилось на пути;
? time
— время, затраченное на ожидание ответа. По этому параметру можно судить о скорости связи и о ее стабильности, если значение параметра не сильно изменяется от пакета к пакету. Но учитывайте, что время, затраченное на отправку и получение первого пакета, почти всегда выше. Все остальные должны идти равномерно.
Если ответ на какой-нибудь пакет не был получен, то вы увидите сообщение о его потере. Дождитесь, пока программа не отправит 7–10 пакетов, чтобы по их параметрам оценить качество связи, и после этого можно прерывать сеанс нажатием клавиш <Ctrl>+<C>. В результате вы увидите небольшую статистику обмена сообщениями: количество отправленных, полученных и потерянных пакетов, а также минимальное, среднее и максимальное время обмена пакетами.
Рассмотрим основные параметры, которые можно использовать в команде ping
:
? -c n
— завершить работу после отправки (и приема) n пакетов. Например, вы хотите послать пять запросов, тогда команда будет выглядеть следующим образом: ping -с 5 195.10.14.18
;
? -f
— форсированная передача (скорость достигается за счет того, что все пакеты посылаются в сеть без ожидания ответа). Например, вам нужно быстро отправить 50 запросов, тогда команда будет выглядеть следующим образом: ping -f -с 50 195.10.14.18
. Этот ключ в сочетании с большим количеством пакетов значительного размера может сильно загрузить сеть и компьютер получателя, а в некоторых системах даже привести к временному отказу от обслуживания;
? -s n
— устанавливает размер пакета. Например, вы хотите отправить пакет размером в 1000 байт. В этом случае команда будет выглядеть ping -s 1000 195.10.14.18
. В некоторых старых версиях ОС были ошибки, и при получении слишком большого пакета система зависала. В настоящее время погрешности такого рода отсутствуют, и встретить подобную систему в Интернете сложно.
Это наиболее часто используемые параметры. Дополнительную информацию поэтому вопросу можно получить в справочной системе, выполнив команду man ping
.
- SERVER CLIENT MAPPING
- 14.6.1. Ping of Dead
- PART VI Fedora Housekeeping
- Keeping Your Software Up-to-Date
- Starting and Stopping Services Manually
- Piping Data
- Starting and Stopping Apache
- Looping
- Conditionals and Looping
- The Glade Client for Developing in GNOME
- Keeping Up-to-Date on Linux Security Issues
- 28.5. Программа ping