Icmpsic
Большинство сетей блокируют входящие ICMP-сообщения в своих сетях. Используйте инструмент icmpsic, чтобы посмотреть, как ваше устройство защиты обрабатывает ICMP-трафик, включая трафик, который не попадает в категорию Ping. Нормальный ICMP-трафик обычно состоит из парных ICMP-запросов (echo request) (хост задает вопрос: "Есть ли там кто-нибудь?") и ICMP-ответов (echo reply) (ответ хоста: "Мы и они"). Существуют другие типы ICMP-сообщений, которые охватывают управление доступом и метками времени (timestamp). Большую часть времени весь ICMP-трафик, направленный из интернета в сеть, блокирован. Во внутренней сети утилита ping обычно может искать свободно, так почему бы не исследовать, как устройства обрабатывают чрезмерный ICMP-трафик?
Использование:
icmpsic [-v] [-D]-s <ip отправителя> [, порт]-d <ip получателя> [,порт] [-r начальное случайное число] [-m <максимальная скорость генерации (КБ/с)>] [-p <число генерируемых пакетов>] [-k <пропускаемые пакеты>] [-x <посылать пакет X раз>] Процентные опции: [-F фрагментирование] [-V <Плохая версия IP>] [-I <Опции IP>] [-i <Плохая контрольная сумма ICMP>]
Хотя использование утилиты подразумевает, что вы можете указать порты с помощью аргументов -s и -d, установка номера порта заставляет утилиту icmpsic вместо этого использовать широковещательный (broadcast) адрес. Номера портов не являются частью ICMP-протокола. На уровне IP вы все еще можете генерировать фрагментированные пакеты (-F), пакеты с плохими версиями IP (-V) и пакеты с плохими опциями IP (-I). ICMP является подмножеством протокола IP, поэтому эти опции все еще доступны.
Единственная опция, специфическая для ICMP, позволяет посылать неверную контрольную сумму ICMP-сообщения, которая должна делать полученный пакет недействительным. Во всем остальном, утилита icmpsic генерирует случайные значения для типа и кода сообщения. Эхо-ответ ICMP (echo reply), например, имеет тип 0. Ответ метки времени ICMP (timestamp reply) имеет тип 14. RFC 792 перечисляет большинство типов ICMP-сообщений. Мы настолько педантичны в ICMP-протоколе из-за того, что его часто игнорируют, и он может использоваться как потайной канал (covert channel) (см. лекцию "Черный ход и средства удаленного доступа") или даже в идентификации операционной системы, что основывается на снятии "отпечатков пальцев" стека (stack fingerprinting) (http://www.sys-security.com/archive/papers/ICMP_Scanning_v2.5.pdf).