- Created UDP documentation detailing traffic handling and filtering options. - Added backup settings documentation for configuration backup and restoration. - Introduced core settings documentation covering service management, packet processing, and logging. - Added discovery settings documentation for automatic configuration detection. - Created geodata documentation explaining GeoSite and GeoIP databases and their usage. - Added payloads documentation for generating and managing TLS payloads for faking. - Introduced security documentation for web interface authorization and HTTPS setup. - Added domain monitoring documentation for automatic detection of blocked domains and recovery processes. - Created footer and navbar localization files for Russian language support.
7.9 KiB
| sidebar_position | title |
|---|---|
| 4 | Пэйлоады |
Пэйлоады
Зачем нужны пэйлоады
Одна из стратегий обхода DPI - отправка фейковых пакетов (faking). b4 отправляет провайдеру поддельный пакет с подменёнными данными, а настоящий пакет отправляет так, чтобы DPI его не заметила. Для этого фейковый пакет должен содержать какие-то данные - это и есть пэйлоад.
flowchart TD
A["Браузер отправляет\nзапрос к сайту"] --> B["b4 перехватывает"]
B --> C["1. Отправляет фейковый пакет"]
C --> D{"DPI провайдера"}
D -->|"DPI видит фейк,\nсчитает соединение\nбезопасным"| E["Пакет умирает\nне дойдя до сайта\n(TTL истёк)"]
B --> F["2. Отправляет настоящий пакет\n(фрагментирован)"]
F --> D
D -->|"DPI уже принял\nрешение по фейку,\nпропускает"| G["Сайт получает\nнастоящие данные"]
style B fill:#e91e63,color:#fff,stroke:none
style D fill:#ff9800,color:#fff,stroke:none
style E fill:#666,color:#fff,stroke:none
style G fill:#4caf50,color:#fff,stroke:none
style C fill:#2196f3,color:#fff,stroke:none
style F fill:#4a9eff,color:#fff,stroke:none
Фейковый пакет отправляется с заниженным TTL (время жизни). Он проходит через оборудование провайдера (DPI его видит и анализирует), но не доходит до настоящего сервера - пакет «умирает» по дороге. Сервер никогда не получает мусор, а DPI уже принял решение на основе фейка.
Типы пэйлоадов
b4 поддерживает несколько типов содержимого для фейковых пакетов. Тип выбирается в настройках сета: TCP → Faking → Тип пэйлоада.
| Тип | Что содержит | Когда использовать |
|---|---|---|
| Random | 1200 случайных байтов | По умолчанию. Работает у большинства провайдеров |
| Google ClientHello | Готовый TLS ClientHello от имени Google | Если DPI пропускает трафик к Google |
| DuckDuckGo ClientHello | Готовый TLS ClientHello от имени DuckDuckGo | Альтернатива Google |
| Captured Payload | Сгенерированный или загруженный пэйлоад | Для продвинутой настройки (см. ниже) |
| Zeros | 1200 нулевых байтов (0x00) | Минимальная нагрузка на процессор |
| Inverted | Побитовая инверсия оригинального TLS-пакета | Выглядит как повреждённый пакет |
:::tip Какой выбрать Используйте тот тип, который предложил дискавери. Если настраиваете вручную - начните с Random и попробуйте другие варианты, если не сработает. Поведение DPI зависит от провайдера и может меняться со временем. :::
Генерация пэйлоада (Captured Payload)
Сгенерированный пэйлоад - это оптимизированный TLS ClientHello, который выглядит как настоящее TLS-рукопожатие браузера. В отличие от случайных байтов, DPI распознаёт его как легитимный TLS и применяет другие правила обработки.
Почему SNI-first
Российские DPI (ТСПУ) используют оптимизацию: если в TLS ClientHello расширение SNI стоит первым, система проверяет домен по белому списку и, если домен разрешён - пропускает соединение по ускоренному пути. b4 генерирует ClientHello именно так - SNI на первом месте - чтобы использовать эту особенность.
Как сгенерировать
- Введите домен в поле Домен (например,
youtube.com) - Нажмите Сгенерировать
b4 создаст ClientHello с реалистичным набором TLS-расширений и шифров, SNI на первом месте. Генерация мгновенная - реальное соединение с сайтом не устанавливается. Один домен - один пэйлоад. Повторная генерация не создаст дубликат.
Загрузка своего пэйлоада
Если у вас есть бинарный файл (.bin, до 64 КБ):
- Укажите Имя/Домен - идентификатор пэйлоада
- Нажмите Выбрать файл и выберите
.bin - Нажмите Загрузить
:::tip Имя из файла
Если имя файла содержит домен (например, tls_youtube_com.bin), поле имени заполнится автоматически.
:::
Использование в сетах
После генерации пэйлоады становятся доступны в настройках сета:
- Откройте сет → вкладка TCP → секция Faking
- В поле Тип пэйлоада выберите Captured Payload
- В появившемся списке выберите нужный пэйлоад по домену
Использование в дискавери
При запуске дискавери можно указать пэйлоады в Параметрах поиска → Пользовательские payloads. Дискавери протестирует каждую стратегию с каждым из указанных пэйлоадов и выберет наиболее эффективную комбинацию.
:::info Когда это полезно Если стандартный дискавери (с Random-пэйлоадом) не находит рабочую конфигурацию - сгенерируйте пэйлоады для нескольких доменов и запустите дискавери с ними. Некоторые провайдеры реагируют на содержимое фейкового пакета, и реалистичный ClientHello может сработать там, где случайные байты не помогли. :::
Управление
Каждый пэйлоад отображается как карточка с доменом, размером и датой создания.
| Действие | Описание |
|---|---|
| Просмотр hex | Показать содержимое в hex-формате, скопировать в буфер |
| Скачать .bin | Скачать как бинарный файл |
| Удалить | Удалить пэйлоад |
| Очистить все | Удалить все пэйлоады (кнопка в заголовке) |
Пэйлоады хранятся в директории captures/ внутри директории конфигурации b4 (обычно /etc/b4/captures/).
