Чем DPI отличается от обычной фильтрации
Классический сетевой фаервол (L3/L4) оперирует заголовками IP и TCP/UDP: он видит IP_назначения:порт и блокирует трафик по спискам IP или номерам портов.
DPI (Deep Packet Inspection, L7) анализирует полезную нагрузку (payload) внутри пакетов. Комплекс перехватывает первые байты TCP-сессии (рукопожатие) и сравнивает их с базой известных сигнатур протоколов.
В российских сетях эту роль выполняют комплексы ТСПУ («Эдельвейс» и аналогичные системы), установленные на узлах связи операторов.
L3/L4 фильтрация: [ IP: 149.154.167.50 | Port: 443 ] -> Блок по списку IP
L7 DPI/ТСПУ: [ IP: Любой | Port: 443 | Payload: 0xef (MTProto Init) ] -> Блок по сигнатуре
Методы детекции Telegram в современных DPI
1. Сигнатурный анализ заголовков (MTProto plain / dd)
В исходной спецификации MTProto первые 64 байта соединения содержали фиксированные последовательности протокола. DPI определял их за 1 пакет и мгновенно слал TCP RST.
Позже появился префикс dd (рандомизированный padding). Однако современные DPI научились детектировать dd по статистической энтропии: случайный шум без структуры TLS выделяется на фоне 99% остального HTTPS-трафика.
2. Анализ SNI (Server Name Indication)
При установке стандартного TLS-соединения имя домена передается открытым текстом в расширении ClientHello (SNI). Если в SNI указан домен Telegram (*.telegram.org, t.me), ТСПУ сбрасывает TCP-сессию еще до завершения криптографического рукопожатия.
3. Активное зондирование (Active Probing)
Если DPI видит подозрительный зашифрованный поток на порт 443 к неизвестному серверу, система с другого IP сама отправляет проверочные запросы к этому серверу:
- Если сервер отвечает ошибкой MTProto или ведет себя не как стандартный веб-сервер, IP вносится в бан-лист.
- Это основной метод, применяемый GFW (Great Firewall of China) и все активнее тестируемый в РФ.
Как FakeTLS (ee) обходит сигнатурный анализ
Технология FakeTLS полностью устраняет аномалии трафика на этапе рукопожатия:
- Клонирование ClientHello: Клиент Telegram генерирует ClientHello, байт в байт идентичный браузерному запросу Chrome/Firefox к выбранному белому домену (например,
yandex.ruилиcloudflare.com). - Белый SNI: В поле SNI передается имя легитимного разрешенного сайта.
- Хеширование секрета: Внутри случайных байтов
ClientHello.randomпо секретному алгоритму зашифрован ключ сессии. Обычный сервер или DPI увидят в этих байтах стандартный криптографический шум. - Ответ сервера: Сервер
mtgрасшифровывает запрос своим секретом и отвечает валидным TLS ServerHello, после чего соединение переходит в режим туннеля MTProto.
Для DPI провайдера сессия выглядит как 100% легитимное посещение веб-сайта.
Сравнение стойкости методов к ТСПУ / DPI
| Метод | Стойкость к L7 DPI | Защита от Active Probing | Накладные расходы |
|---|---|---|---|
| MTProto plain | Нулевая (блок мгновенно) | Нет | Минимальные |
MTProto dd (Obfuscated) | Низкая (детект по энтропии) | Нет | Минимальные |
MTProto ee (FakeTLS) | Высокая (проходит по белому SNI) | Средняя (зависит от домена) | Низкие (~1% CPU) |
| VLESS Reality (Xray) | Максимальная (полная симуляция TLS) | Высокая (fallback на реальный сайт) | Средние (~5% CPU) |
Что делать, если FakeTLS перестал работать
Если MTProxy на секрете ee перестал отвечать:
- Проверьте IP-адрес: чаще всего блокируется не протокол, а конкретный IP хостинга по результатам сетевого сканирования.
- Смените SNI-домен: если ТСПУ фильтрует определенный домен (например, зарубежные CDN), перегенерируйте секрет на локальный белый домен (
gosuslugi.ru,vk.com,yandex.ru). - Используйте резервный транспорт: при тотальных ограничениях переключайтесь на VLESS Reality через Sing-box/NekoBox.