20 типов ICMP

В настоящее время существует более 20 типов ICMP. Вам должны быть знакомы некоторые из них: типы, используемые утилитами ping, echo (тип 8) и echo reply (тип 0), либо тип, используемый командой traceroute (тип 30). ICMP-коды по своей сути являются уточнением ICMP-типов. Не все ICMP-типы имеют связанные с ними ICMP-коды, хотя ориентировочно последние имеют тот же номер, что и тип. Дополнительную информацию об ICMP-типах и кодах можно найти в соглашении IANA (см. http://www.iana.org/assignments/ icmp -parameters).
Вот содержание файла ftestconf, который настроен на проверку всех непривилегированных ТСР-портов на машине с IP-адресом 10.1.1.1:
192.168.1.10:1025:10.1.1.1:1-1025:S:TCP:0 stop_signal=192.168.1.10:1025:10.1.1.1:22:S:ТСР: 0
Stop sjgna 1 задает полезную нагрузку пакета и сообщает ftestd, что проверка завершена.
Перед запуском ftest необходимо запустить ftestd:
# ./ftestd -1 ethO Теперь запускаем ftest:
# ./ftest -f ftest.conf
При этом будет создан файл протокола с именем ftestlog, содержащий сведения о каждом посланном пакете. Когда ftestd получает сигнал остановки, он прекращает работу. После завершения работы в протоколе (ftestdlog) можно найти прошедшие пакеты. Далее можно скопировать протоколы на одну машину и сравнить их с помощью freport. При использовании представленного ранее файла настройки и при разрешенном SSH-, SMPTP- и HTTP-трафике отчет должен выглядеть примерно так:
# ./freport ftest.log ftestd.log Authorized packets:
1 - 192.168.1.10:1025 > 10.1.1.1:1 S TCP 0
2 - 192.168.1.10:1025 > 10.1.1.1:2 S TCP 0
3 - 192.168.1.10:1025 > 10.1.1.1:3 S TCP 0

При использовании межсетевого экрана с проверкой состояния (stateful firewall) также можно указать пакеты, имеющие флаг, отличающийся от SYN. Например, если в предыдущем примере вместо SYN использовать АСК или другой флаг, то он будет сброшен межсетевым экраном, поскольку для инициации соединения используются только пакеты с флагом SYN.
Разумно запускать ftest всякий раз после внесения изменений в межсетевой экран либо периодически — для того, чтобы проверить правильность его работы. Поскольку сложный набор правил межсетевого экрана усложняет предсказание его поведения ftest точно покажет какой тип трафика разрешён.