<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Программируемый фильтр on BIFIT Mitigator</title>
    <link>https://docs.mitigator.ru/v26.04/kb/bpf/</link>
    <description>Recent content in Программируемый фильтр on BIFIT Mitigator</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ru</language><atom:link href="https://docs.mitigator.ru/v26.04/kb/bpf/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Пример: MCR UDP</title>
      <link>https://docs.mitigator.ru/v26.04/kb/bpf/tutorial/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.mitigator.ru/v26.04/kb/bpf/tutorial/</guid>
      <description>Это пошаговый пример, как написать контрмеру MCR с аутентификацией по UDP (описание протокола), чтобы разобраться с программированием контрмеры BPF. Готовая программа займет менее 100 строк.
Вам понадобятся:
MITIGATOR v20.06 и выше. Умение запускать команды из терминала. Минимальные знания языка C (будут пояснения по ходу текста). Знание, что у пакетов есть протоколы, заголовки, данные. Настройка окружения Подойдет любая операционная система, рекомендуется Linux. Нужен текстовый редактор для написания кода и компилятор. В качестве редактора можно взять Visual Studio Code или любой другой.</description>
    </item>
    <item>
      <title>Справочник по BPF</title>
      <link>https://docs.mitigator.ru/v26.04/kb/bpf/api/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://docs.mitigator.ru/v26.04/kb/bpf/api/</guid>
      <description>Документация API Обзор Программы загружаются в MITIGATOR в виде объектных файлов ELF. Они могут пользоваться функциями API из mitigator_bpf.h (скачать).
Политика совместимости распространяется на BPF.
Минимальная программа должна помещать метаданные и код в правильные секции объектного файла с помощью макросов:
#include &amp;#34;mitigator_bpf.h&amp;#34; ENTRYPOINT enum Result program(Context ctx) { return RESULT_PASS; } PROGRAM_DISPLAY_ID(&amp;#34;Example v0.1&amp;#34;) Как правило, программы пишутся на С и компилируются clang (поддержка EBPF добавлена в GCC 10). Пример:
clang -c -emit-llvm -fno-stack-protector -O2 program.</description>
    </item>
  </channel>
</rss>