diff --git a/docs/readme.md b/docs/readme.md index fb2d068..01c32d7 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -89,25 +89,25 @@ VPN. В самом простейшем случае вы имеете дело с пассивным DPI. Пассивный DPI может читать трафик из потока, может инжектить свои пакеты, но не может блокировать проходящие пакеты. Если запрос "плохой", пассивный DPI инжектит пакет RST, -опционально дополняя его пакетом http redirect. Если фейк пакет инжектится только для клиента, в этом случае можно -обойтись командами iptables для дропа RST и/или редиректа на заглушку по определенным условиям, которые нужно подбирать +опционально дополняя его пакетом HTTP redirect. Если фейк пакет инжектится только для клиента, в этом случае можно +обойтись командами iptables для дропа RST и/или редиректа на заглушку по опредёленным условиям, которые нужно подбирать для каждого провайдера индивидуально. Так мы обходим последствия срабатывания триггера запрета. Если пассивный DPI -направляет пакет RST в том числе и серверу, то вы ничего с этим не сможете сделать. Ваша задача - не допустить -срабатывания триггера запрета. Одними iptables уже не обойдетесь. Этот проект нацелен именно на предотвращение +направляет пакет RST в том числе и серверу, то вы ничего с этим не сможете сделать. Ваша задача — не допустить +срабатывания триггера запрета. Одними iptables уже не обойтись. Этот проект нацелен именно на предотвращение срабатывания запрета, а не ликвидацию его последствий. -Активный DPI ставится в разрез провода и может дропать пакеты по любым критериям, в том числе распознавать TCP потоки и +Активный DPI ставится в разрез провода и может дропать пакеты по любым критериям, в том числе распознавать TCP-потоки и блокировать любые пакеты, принадлежащие потоку. -Как не допустить срабатывания триггера запрета ? Послать то, на что DPI не рассчитывает и что ломает ему алгоритм +Как не допустить срабатывания триггера запрета? Послать то, на что DPI не рассчитывает и что ломает ему алгоритм распознавания запросов и их блокировки. -Некоторые DPI не могут распознать http запрос, если он разделен на TCP сегменты. Например, запрос +Некоторые DPI не могут распознать HTTP-запрос, если он разделен на TCP-сегменты. Например, запрос вида `GET / HTTP/1.1\r\nHost: kinozal.tv......` -мы посылаем 2 частями : сначала идет `GET`, затем `/ HTTP/1.1\r\nHost: kinozal.tv.....`. Другие DPI спотыкаются, когда -заголовок `Host:` пишется в другом регистре : например,`host:`. Кое-где работает добавление дополнительного пробела -после метода : `GET /` => `GET /` -или добавление точки в конце имени хоста : `Host: kinozal.tv.` +мы посылаем двумя частями: сначала идет `GET`, затем `/ HTTP/1.1\r\nHost: kinozal.tv.....`. Другие DPI спотыкаются, когда +заголовок `Host:` пишется в другом регистре: например, `host:`. Кое-где работает добавление дополнительного пробела +после метода: `GET /` → `GET /` +или добавление точки в конце имени хоста: `Host: kinozal.tv.` Существует и более продвинутая магия, направленная на преодоление DPI на пакетном уровне.