diff --git a/docs/manual.md b/docs/manual.md index 31cea37..c911c78 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -2366,17 +2366,16 @@ nfqws2 ничего не знает о том, что нужно `--lua-desync` function drop(ctx, desync) ``` -Выносит VERDICT_DROP при выполнении условий фильтра. * arg: [standard direction](#стандартные-наборы-параметров) * arg: [standard payload](#стандартные-наборы-параметров) * По умолчанию payload=all, direction=any, то есть drop всего. +Выносит VERDICT_DROP при выполнении условий фильтра. + ``` function send(ctx, desync) ``` -Отсылает текущий диссект c опциональным применением модификаций. - * arg: [standard direction](#стандартные-наборы-параметров) * arg: [standard fooling](#операции-с-диссектами) * arg: [standard ipid](#операции-с-диссектами) @@ -2384,6 +2383,8 @@ function send(ctx, desync) * arg: [standard reconstruct](#опции-по-работе-с-пакетами) * arg: [standard rawsend](#опции-по-работе-с-пакетами) +Отсылает текущий диссект c опциональным применением модификаций. + ``` function send(ctx, desync) ``` @@ -2394,38 +2395,39 @@ function send(ctx, desync) function pktmod(ctx, desync) ``` -Отсылает текущий диссект c опциональным применением модификаций. - * arg: [standard direction](#стандартные-наборы-параметров) * arg: [standard fooling](#операции-с-диссектами) * arg: [standard ipid](#операции-с-диссектами) +Отсылает текущий диссект c опциональным применением модификаций. + ## Дурение http ``` function http_hostcase(ctx, desync) ``` -Заменяет регистр http заголовка `Host:` * arg: [standard direction](#стандартные-наборы-параметров) * arg: spell - точное написание заголовка. по умолчанию "host" +Заменяет регистр http заголовка `Host:` + ``` function http_domcase(ctx, desync) ``` -Меняет регистр написания домена внутри заголовка `Host:`. Верхний и нижний регистр чредуется каждый символ : `rUtRaCkEr.oRg`. - * arg: [standard direction](#стандартные-наборы-параметров) +Меняет регистр написания домена внутри заголовка `Host:`. Верхний и нижний регистр чредуется каждый символ : `rUtRaCkEr.oRg`. + ``` function http_methodeol(ctx, desync) ``` -Вставляет '\r\n' перед методом, отрезая 2 последних символа из содержимого заголовка `User-Agent:`. Работает только на nginx, остальные сервера ломает. - * arg: [standard direction](#стандартные-наборы-параметров) +Вставляет '\r\n' перед методом, отрезая 2 последних символа из содержимого заголовка `User-Agent:`. Работает только на nginx, остальные сервера ломает. + ## Замена window size @@ -2433,22 +2435,23 @@ function http_methodeol(ctx, desync) function wsize(ctx, desync) ``` +* arg: wsize - размер tcp окна +* arg: scale - scaling фактор. заменяется в tcp option, если есть. только уменьшение, увеличение блокируется + Меняет 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`. К применению рекомендуется только при отсутствии альтернатив. - * arg: [standard direction](#стандартные-наборы-параметров) * arg: wsize - размер tcp окна * arg: scale - scaling фактор. заменяется в tcp option, если есть. только уменьшение, увеличение блокируется * arg: forced_cutoff - список типов пейлоадов через зяпятую, при получении которых выполняется instance cutoff. Если нужно применять wssize бесконечно, можно указать forced_cutoff=no, то есть несуществующий тип пейлоада, который не придет никогда. + +Меняет 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`. К применению рекомендуется только при отсутствии альтернатив. +