Использование Ftester
Для использования Ftester вам понадобятся модули Net::RawlP, Net::PcapUtils, NetPacket Perl, а также Net::Pcap, если он еще не установлен, поскольку от него зависит модуль Net::PcapUtils. Если доступен модуль CPAN Perl, то вы можете установить необходимые модули с помощью следующих команд:
# perl -MCPAN -е "install Net::RawlP"
# perl -MCPAN -e "install Net: :Pcap(Jtils"
# perl -MCPAN -e "install NetPacket"
После того как модули станут доступными в системе, необходимо создать файл настройки, указывающий ftest, какие пакеты необходимо генерировать.
Общая форма TCP- и UDP-пакета в ftestconf выглядит следующим образом:
source addr:source port:dest addr:dest port:flags:proto:tos
где source addr и source port— IP-адрес и порт источника, a dest addr и destport — адрес и порт получателя. Имеется возможность указать диапазон адресов в формате «нижний/верхний» либо с использованием CIDR-нотации. Диапазоны портов могут указываться в формате «нижний/верхний». В поле flags указываются настройки пакета. Действительными значениями для этого поля являются S для SYN, А для АСК, Р для PSH, U для URG, R для RST и F для FIN. Поле proto указывает используемый протокол (TCP или UDP), a tos — число для настройки Type-of-Service (ToS) в IP-заголовке. Иногда маршрутизаторы используют содержание этого поля для принятия решения о приоритете трафика. Дополнительную информацию о поле ToS можно найти в документе RFC 791 (http://www.ietf.org/rfc/rfc0791.txt), определяющем IP (Internet Protocol).
Аналогично определяются ICMP-пакеты. Вот их общая форма:
source addr::dest addr:: :lCMR type-.code
Основным различием между двумя формами является отсутствие номеров портов и флагов в последнем. Так сделано из-за того, что ICMP не использует номера портов и флаги. Вместо этого он использует типы и коды, поэтому сюда добавлены поля type и code.