ng_source mini how-to В 5.4-PRERELEASE модуль для ng_source по умолчанию не собирается и его нужно собрать отдельно: # cd /sys/modules/netgraph/source/ # make && make install # kldload ng_source еще нужно подгрузить модуль ng_ether если его нет в ядре # kldload ng_ether Проверяем командой kldstat, что модули ng_ether и ng_source загружены. Создаем узел типа source и подключаем его к интерфейсу ethernet # ngctl mkpeer xl0: source orphans output Теперь на нужно где-то раздобыть образец пакета в двоичном виде. один из вариантов. Поймать один пакет с помощь tcpdump и отрезать от него заголовок, оставив только сам пакет. Если исходный пакет был 28 байт, то размер ethernet фрейма 28+12+2=42 байта. tail -c 42 ping.dump > ping.cap можно посмотреть пакет # hd ping.cap и убедиться, что он начинается с dst mac. далее скармливаем этот пакет ng_source: # cat ping.cap | nghook xl0:orphans input И даем команду сколько раз этот пакет отправить. Поехали! # ngctl msg xl0:orphans start 1000000000 дальше можно наблюдать за процессом отправки пакетов: # ngctl msg xl0:orphans getstats Остановить процесс можно командой stop # ngctl msg xl0:orphans stop -- Южанинов Антон , март 2005 г.