diff --git a/docs/manual.md b/docs/manual.md index f08ee92..9ae0316 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -2400,4 +2400,57 @@ function pktmod(ctx, desync) * [standard fooling](#операции-с-диссектами) * [standard ipid](#операции-с-диссектами) +## Дурение http + +``` +function http_hostcase(ctx, desync) +``` + +Заменяет регистр http заголовка `Host:` +* [standard direction](#стандартные-наборы-параметров) +* arg: spell - точное написание заголовка. по умолчанию "host" + +``` +function http_domcase(ctx, desync) +``` + +Меняет регистр написания домена внутри заголовка `Host:`. Верхний и нижний регистр чредуется каждый символ : `rUtRaCkEr.oRg`. + +* [standard direction](#стандартные-наборы-параметров) + +``` +function http_methodeol(ctx, desync) +``` + +Вставляет '\r\n' перед методом, отрезая 2 последних символа из содержимого заголовка `User-Agent:`. Работает только на nginx, остальные сервера ломает. + +* [standard direction](#стандартные-наборы-параметров) + + +## Замена window size + +``` +function wsize(ctx, desync) +``` + +Меняет tcp.th_win и/или scaling factor в tcp оцпии в tcp пакете SYN,ACK, после чего выполняет instance cutoff. Если изменение выполнено - выставляет VERDICT_MODIFY. + +Цель техники - подменить window size со стороны клиента или сервера, чтобы в ответ на это клиент отослал следующий пакет частями, поскольку целиком он не влезает в window size. Может приводить к замедлению. Устаревшая техника, рекомендуется применять только с сервера в крайнем случае для работы по клиентам, которые не делают ничего для обхода блокировки. С клиента лучше применять техники tcp сегментации, поскольку они лишены побочных эффектов в виде замедления скорости и имеют больше возможностей. + +* arg: wsize - размер tcp окна +* arg: scale - scaling фактор. заменяется в tcp option, если есть. только уменьшение, увеличение блокируется + +``` +function wssize(ctx, desync) +``` + +Меняет tcp.th_win и/или scaling factor в tcp оцпии во всех tcp пакетах потока по направлению до достижения условия "cutoff". Если изменение выполнено - выставляет VERDICT_MODIFY. "cutoff" наступает при получении любого пакета с данными или при получении одного из указанных в аргументе "forced_cutoff" пейлоадов. В этом случае выполняется instance cutoff. + +Цель техники - заставить сервер фрагментировать свои ответы, когда DPI их проверяет (TLS 1.2). Нужно держать сервер "в тонусе", чтобы он думал, что клиент не может принимать tcp сегменты большого размера и сам резал свои ответы, но лишь до прохода критической фазы проверки. После этого нужно отпустить воздействие, иначе оно приведет к катастрофической потере скорости вплоть до модемной. Режет скорость в любом случае. Является техникой нулевой фазы - с хостлистами может применяться только с включенным `--ipcache-hostname`. Типичные параметры: `wsize=1:scale=6`. К применению рекомендуется только при отсутствии альтернатив. + +* [standard direction](#стандартные-наборы-параметров) +* arg: wsize - размер tcp окна +* arg: scale - scaling фактор. заменяется в tcp option, если есть. только уменьшение, увеличение блокируется +* arg: forced_cutoff - список типов пейлоадов через зяпятую, при получении которых выполняется instance cutoff. Если нужно применять wssize бесконечно, можно указать forced_cutoff=no, то есть несуществующий тип пейлоада, который не придет никогда. +