Представлен открытый мультиплатформенный проект DPI Checkers для определения использования у интернет-провайдера DPI

от автора

Разработчик Петр Осетров (@hyperion_cs) выпустил открытый мультиплатформенный проект под названием DPI Checkers (комплексный чекер DPI). Это решение помогает выяснить, использует ли ваш домашний интернет-провайдер DPI (Deep Packet Inspection), а также конкретные методы (и их параметры), которые сетевой регулятор использует для ограничений. Исходный код проекта написан на Go и опубликован под лицензией Apache License 2.0.

Готовые сборки DPI Checkers 0.5.0 доступны для ПК на Windows, macOS иLinux.

«Это „старший брат“ всех других чекеров, не ограниченный песочницей браузера. Это попытка создать мощный инструмент для анализа DPI общего назначения (включая улучшенный чекер TCP 16–20 и многое другое). Чрезвычайно гибкая конфигурация. Написано на Golang, сборки доступны для Windows/macOS/Linux (Android скоро появится)», — пояснил разработчик решения.

Согласно документации, основные возможности проекта:

  • Реализованы функции «Кто я?» — проверки интернет-соединения (также известная как проверка whoami);

  • «Нахожусь ли я в белом списке CIDR?» — проверка, ограничивает ли регулятор TCP/UDP-соединения по IP-подсетям (также известная как проверка белого списка CIDR);

  • «Комплексные проверки (включая проверку работоспособности и ограничений TCP 16-20)» (также известная как проверка веб-хостинга):

    • «Популярные веб-сервисы, такие как YouTube, Discord, Telegram и другие»;

    • «Провайдеры инфраструктуры, такие как Cloudflare, Akamai, Hetzner, DigitalOcean и другие».

  • «Проверка DNS на предмет подмены DNS-ответов, захвата серверов, блокировки DoH и так далее» (также известная как проверка DNS);

  • «Современный TUI (aka CLI) с гибкими параллельными рабочими процессами»;

  • «Автоматическое обновление утилиты из релизов Github».

Киллер-фичи (уникальные технические отличия) решения, согласно пояснения разработчика проекта:

  • Новый метод проверки TCP 16-20 Теперь, для проверки ограничений с использованием метода TCP 16-20, мы отправляем данные на хост, а не пытаемся получить/скачать что-либо с него. Исследования показывают, что исходящий трафик ограничивается цензорами так же, как и входящий. Это значительно снижает требования к хостам (они должны просто уметь устанавливать TCP-соединение и не разрывать его, когда видят достаточно большой поток данных от нас). Аналогичный метод теперь реализован в веб-версии средства проверки TCP 16-20.

  • Эра динамической настройки: чрезвычайно гибкая конфигурация хостов для проверки (для веб-проверки хостов) Теперь в утилите dpi-ch не используются фиксированные списки хостов (особенно для проверки поставщиков инфраструктуры), в том числе для проверки TCP 16-20 и так далее. Вместо этого там получаются такие хосты динамически для каждой проверки. Это позволяет не беспокоиться о том, что регулятор добавит фиксированный список в свои белые списки (чтобы обмануть проверяющий список в проекте), а также снижает нагрузку на проверяемые хосты, поскольку они уникальны для каждого пользователя.

  • В конфигурации по умолчанию уже включены необходимые параметры фильтрации для популярных веб-сервисов и поставщиков инфраструктуры. Также можно вручную воспользоваться этой гибкой функцией, чтобы адаптировать её под свои нужды. Кстати, этот механизм внутри dpi-ch называется subnetfilter и работает локально без подключения к интернету.

В начале мая состоялся выпуск обновления открытого проекта DPI Detector. Это инструмент для анализа цензуры трафика в РФ, который обнаруживает и классифицирует блокировки сайтов, хостингов и CDN (TCP16-20 блокировки), а также подмену DNS‑запросов провайдером. Исходный код проекта написан на Python и опубликован на GitHub под лицензией MIT. «Этот инструмент предназначен исключительно для образовательных и диагностических целей. Автор не несет ответственности за использование данного ПО», — пояснил разработчик решения.

Ранее разработчик Дмитрий Виноградов (@MayersScott) представил открытую утилиту RKN Block Checker для определения — это проблема сети или блокировка со стороны регулятора (проверка ресурса по маршруту DNS → TCP → TLS → HTTP). Исходный код проекта написан на Python и опубликован под лицензией MIT.

ссылка на оригинал статьи https://habr.com/ru/articles/1033322/