Мы в Telegram
Добавить новость
103news.com
Досуг
Март
2020

DPI. Что это такое? Как обойти на android

0
DPI. Что это такое? Как обойти на android

Что такое DPI?


DPI (Deep Packet Inspection) — технология, позволяющая собирать статистическую информацию из пакетов, проверять их и, конечно же, фильтровать информацию, в зависимости от содержимого пакета. Иногда операторы фильтруют с помощью этой технологии целые протоколы, такие как BitTorrent.
Различают два типа DPI: пассивный и активный. Разница лишь в том, что активный может заблокировать пакет и не дать ему дойти до адресата, а пассивный только лишь отправить фейковый пакет с редиректом или сбросом соединения. Способы обхода обоих схожи.

Как обмануть DPI?


Системы анализа пакетов сконструированы так, чтобы обрабатывать трафик с максимально возможной скоростью, исследуя только часто встречающиеся запросы и пропуская нетипичные, даже если они полностью соответствуют стандарту.

HTTP


Типичный HTTP запрос (такой отправляют все известные браузеры) выглядит следующим образом:

GET /index.php HTTP/1.1
Host: ru.wikipedia.org
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5
Accept: text/html
Connection: keep-alive


Все заголовки начинаются с большой буквы, далее двоеточие, затем один пробел, значение заголовка и конец строки в виде CRLF (\r\n).

Заглянем в RFC 7230:

Each header field consists of a case-insensitive field name followed
by a colon (":"), optional leading whitespace, the field value, and
optional trailing whitespace.


Согласно нему, заголовки не чувствительны к регистру, а после двоеточия может быть любое число пробелов. Это значит, что сломать DPI можно с помощью изменения «Host:» на «hOsT:». Большинство серверов примет пакет и если заменить символ конца строки с CRLF (\r\n) на LF (\n).

HTTPS


В случае с HTTPS, DPI ищут не зашифрованное поле SNI, в котором содержится адрес сайта. Можно было бы изменить поле SNI, но для этого придётся модифицировать системные библиотеки, поэтому для обхода блокировок по HTTPS используется фрагментация пакетов, которая, кстати, может использоваться и для HTTP. Суть в том, что почти все DPI умеют работать только с отдельно взятыми пакетами, а читать всё соединение они не умеют, поэтому достаточно отправить запрос к сайту в виде нескольких TCP пакетов.

DNS


Все предыдущие методы бесполезны, если адрес сайта неверно определился на уровне DNS сервера. Дело в том, что многие операторы перенаправляют все DNS запросы на свой сервер и если сайт заблокирован, отправляют некорректный ответ. Решается использованием протокола DoH.

Методы обхода DPI на android


Для Windows и Linux уже существуют решения вроде GoodbyeDPI и GreenTunnel, но для android до недавнего времени ничего такого не было, поэтому я решил сделать свою программу, и получился DPI Tunnel.

Работает эта штука как локальный HTTP прокси, на который направляет весь трафик системы и модифицирует его с использованием вышеперечисленных способов. Если и они не сработают, то есть поддержка socks5 прокси, который используется только для заблокированных сайтов и не замедляет работу остальных.

Как использовать



Если есть root, то в настройках программы выбрать «Установить DPITunnel прокси глобально» и нажать кнопку на главном экране, если root нет, то нажать кнопку на главном экране и выставить прокси в ручную в настройках Wi-Fi или APN. Адрес прокси: 127.0.0.1, порт тот, что указан в настройках программы.

Известные баги


Из багов можно выделить то, что иногда, если фоновой сервис убила система и он не смог нормально завершится, при повторном старте сервиса он падает через несколько секунд. Решается тем, что выбирается другой порт в настройках программы.

Github: DPITunnel
4PDA: DPITunnel
Чат в Telegram (лучше писать на английском, если знаете): @DPITunnelOFFICIAL





Губернаторы России
Москва

Сергей Собянин поздравил москвичей с Днем России





Москва

Стрелявших у Кремля мигрантов пытается оправдать диаспора: Просто "шалость"


Губернаторы России

103news.net – это самые свежие новости из регионов и со всего мира в прямом эфире 24 часа в сутки 7 дней в неделю на всех языках мира без цензуры и предвзятости редактора. Не новости делают нас, а мы – делаем новости. Наши новости опубликованы живыми людьми в формате онлайн. Вы всегда можете добавить свои новости сиюминутно – здесь и прочитать их тут же и – сейчас в России, в Украине и в мире по темам в режиме 24/7 ежесекундно. А теперь ещё - регионы, Крым, Москва и Россия.

Moscow.media
Москва

Сергей Собянин. Главное за день



103news.comмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "103 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. 103news.com — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

103news.com — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.

Музыкальные новости

Песня

Дуэт МКС раскрыл тайны съемок телешоу «Песни от всей души» с Андреем Малаховым




Спорт в России и мире

Алексей Смирнов – актер, которого, надеюсь, еще не забыли

Путин приветствовал в России участников и гостей Спортивных игр стран БРИКС

Путин: Игры БРИКС принимают самобытные и современные Казань и Москва

Путин обратился с приветствием к участникам Спортивных игр стран БРИКС


Людмила Самсонова

Самсонова вышла во второй круг турнира в Хертогенбосе



Новости Крыма на Sevpoisk.ru


Game News

В новом трейлере Indiana Jones and the Great Circle Индиана спускается на корабле с горы



Частные объявления в Вашем городе, в Вашем регионе и в России