Чтение онлайн

ЖАНРЫ

Linux глазами хакера

Флёнов Михаил Евгеньевич

Шрифт:

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
.

Внимание!

Не каждый сервер может отзываться на эхо-запросы. В некоторых системах сетевой экран может быть настроен так, чтобы не пропускать ICMP-трафик, и тогда ответа не будет, хотя реально сервер работает в нормальном режиме и пакеты другого типа может воспринимать без проблем.

5.1.3. netstat

Эта команда показывает текущие подключения к серверу. Результат ее выполнения имеет примерно следующий вид:

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 FlenovM:ftp 192.168.77.10:3962 ESTABLISHED

tcp 0 0 FlenovM:ftp-data 192.168.77.10:3964 TIME_WAIT

Вся информация разложена по колонкам. Давайте рассмотрим каждую из них:

□ 

Proto
— базовый протокол, который использовался для соединения. Чаще всего здесь можно видеть
unix
или
tcp
;

□ 

Recv-Q
количество байтов, не скопированных пользовательской программой;

□ 

Send-Q
— количество байтов, не принятых удаленным компьютером;

□ 

Local Address
— локальный адрес формата
компьютер:порт
. В качестве порта может использоваться как символьное имя, так и число. В приведенном выше примере в первой строке показан порт
ftp
, что соответствует числу 21;

□ 

Foreign Address
— удаленный адрес В формате
IP:порт
;

□ 

State
— состояние соединения.

У этой команды много возможных параметров, и полное их описание можно увидеть в файле справки, набрав команду

man netstat
.

В случае непредвиденной ситуации и подозрение на проникновение в систему извне вы с помощью этой команды легко сможете определить, через какой сервис произошло вторжение, и что хакер в данный момент может использовать. Например, если злоумышленник пробрался через FTP, то он, скорей всего, работает с файлами и может закачивать свои программы для дальнейшего взлома или удалять системные файлы (это зависит от прав доступа).

Поделиться с друзьями: