Книга: Linux глазами хакера
4.11.6. ICMP-трафик
4.11.6. ICMP-трафик
Самым сложным для многих администраторов является управляющий протокол ICMP, который по стандарту RFC 792 требуется для работы протокола TCP/IP. Но в жизни не всегда придерживаются стандартов, и TCP/IP может работать на компьютерах, где ICMP запрещен.
Протокол TCP жестко прошивают в наши головы, и с ним сталкиваются любые пользователи, потому что TCP наиболее распространен. Протокол UDP по своим характеристикам схож с TCP, поэтому тут тоже особых проблем не возникает. А вот ICMP мало кому знаком и его даже бояться. Бытует мнение, что его проще и лучше полностью запретить, но это не так.
Протокол ICMP позволяет двум узлам в сети совместно использовать информацию об ошибках. Проходящие через него пакеты предназначены не определенной программе, а компьютеру в целом, поэтому у него нет портов. Зато есть тип и код. Эти параметры протокола можно увидеть, если выполнить команду:
ipchains -h icmp
Пакеты ICMP, чаще всего, рассылаются в ответ на нештатные ситуации. Основные типы и коды, которые доступны для управления, можно увидеть в табл. 4.1.
Таблица 4.1. Основные коды и типы ICMP-пакетов
Тип | Код | Описание |
---|---|---|
0 | 0 | echo-reply — такие пакеты используются для проверки связи с компьютером через утилиту ping |
3 | 0–7 | destination-unreachable — пакеты этого типа указывают на недоступность адресата. В зависимости от кода можно получить уточненные данные: • 0 — недоступна сеть; • 1 — недоступен компьютер; • 2 — недоступен протокол; • 3 — недоступен порт; • 4 — требуется фрагментация; • 6 — неизвестная сеть; • 7 — неизвестный компьютер |
8 | 0 | echo-request — такие пакеты используются при проверке связи с компьютером через утилиту ping и запрашивают ответ от хоста |
9 и 10 | 0 | Сообщения такого типа рассылают маршрутизаторы |
12 | 1 | Неправильный IP-заголовок |
12 | 2 | Требуемые опции отсутствуют |
При создании правила тип ICMP-сообщения указывается так же, как и порт для TCP-протокола, а код — помещается после ключа -d
. Например, следующая строка запретит ICMP-пакеты третьего типа с кодом 1:
ipchains -I output 1 -р icmp -s 192.168.8.1 3 -d 1 -j DENY
Некоторые администраторы уделяют недостаточное внимание ICMP-протоколу. Это ошибка, потому что таким путем было совершено уже достаточно много атак, к тому же хакер может с помощью сообщений ICMP передавать даже TCP-трафик, используя туннелирование.
- 14.6.2. ICMP flood
- Тематический трафик и локальное продвижение: проблемы и решения
- При чем здесь тематический трафик?
- Оптимизация сетевого трафика
- Appendix C. ICMP types
- ICMP characteristics
- ICMP headers
- ICMP Echo Request
- ICMP Destination Unreachable
- ICMP connections
- ICMP matches
- Прослушивание трафика