Читаем Linux: Полное руководство полностью

ТипКодНазвание сообщенияОписание
0Echo Reply MessageЭхо-ответ
0Код всегда равен 0
3Destination Unreachable MessageАдресат недоступен
0Сеть недоступна
1Узел недоступен — что-то случилось с компьютером возможно, он просто выключен
2Протокол недоступен — запрашиваемый протокол ни поддерживается
3Порт недоступен — на машине ни одна служба не связана с указанным номером порта
4Длина пакета слишком велика, а в его заголовке установлен флаг DF (Don't Fragment), то есть не фрагментировать. Для передачи большого пакета его нужно фрагментировать (разбить на части), а так как установлен флаг DF, фрагментация, а следовательно, и передача пакета невозможна
5Ошибочный маршрут источника
4Source Quench MessageОбрыв источника
0Код всегда равен 0
5Redirect MessageПереадресация
0Переадресация пакетов для сети
1Переадресация пакетов для узла
2Переадресация пакетов для сети и типа обслуживания (TOS, Type Of Service)
3Переадресация пакетов для узла и типа обслуживания (TOS, Type Of Service)
8Echo MessageЭхо-запрос
0Код всегда равен 0
11Time Exceeded MessageПревышен лимит времени
0При передаче превышено «время жизни» (TTL, Time То Live)
1Превышено время реассемблирования (сборки) фрагментов
12Parameter Problem MessageОшибочный параметр
0Указатель на ошибочный параметр (табл. 27.7)
13Time stamp MessageЗапрос временной метки
0Код всегда равен 0
14Timestamp Reply MessageОтвет о временной метке
0Код всегда равен 0
15Information RequestИнформационный запрос (запрашивается номер нашей сети)
0Код всегда равен 0
16Information Reply MessageИнформационный ответ (возвращается номер кашей сети)
0Код всегда равен 0
17 (*)Information RequestИнформационный запрос (запрашивается маска адреса)
0Код всегда равен 0
18 (*)Information Reply MessageИнформационный ответ (возвращается маска адреса)
0Код всегда равен 0
<p>27.2.4. Функции для работы с протоколом ICMP</p>

Для работы с протоколом ICMP существует 12 основных функций. Все эти функции описаны в файле /usr/src/linux/net/ipv4/icmp.c. У вас нет этого файла? Тогда установите исходники ядра (странно, почему вы до сих пор этого не сделали).

♦ icmp_address() — отправка ответа на запрос о маске адреса;

♦ icmp_discard() — удаляет ICMP-пакет;

♦ icmp_echo() — эхо-запрос;

♦ icmp_init() — инициализирует служебные подпрограммы протокола ICMP в операционной системе;

♦ icmp_out_count() — увеличивает счетчик отправленных пакетов;

♦ icmp_rcv() — прием ICMP-пакета;

♦ icmp_redirect() — отправка сообщения переадресации;

♦ icmp_send() — отправка ICMP-сообщения;

♦ icmp_timestamp() — ответ на запрос о времени создания;

♦ icmp_unreach() — отправляет сообщение об ошибке;

♦ xrlim_allow() — решает, отправлять ли ICMP-пакет или нет;

♦ xrlim_init() — ограничение скорости передачи ICMP-пакетов (в версии ядра 2.0).

<p>27.2.4.1. Технические подробности</p>
Перейти на страницу:

Все книги серии Полное руководство

Похожие книги