From 79f33ef75a5c5fd85c43f56e7c249367358290f9 Mon Sep 17 00:00:00 2001 From: bol-van Date: Thu, 29 Jan 2026 16:06:20 +0300 Subject: [PATCH] update docs --- docs/manual.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/manual.md b/docs/manual.md index c2f3825..6feb078 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -17,6 +17,7 @@ - [Распознавание протоколов](#распознавание-протоколов) - [Использование множественных профилей](#использование-множественных-профилей) - [Шаблоны профилей](#шаблоны-профилей) + - [Фильтрация по ipset](#фильтрация-по-ipset) - [Фильтрация по листам](#фильтрация-по-листам) - [Детектор неудач автохостлистов](#детектор-неудач-автохостлистов) - [Фильтр по наличию сетей](#фильтр-по-наличию-сетей) @@ -887,6 +888,12 @@ nfqws2 <глобальные_параметры> В шаблонах допустимы любые параметры, относящиеся к профилям, включая и фильтры. +### Фильтрация по ipset + +- В случае tcp и udp сравнивается адрес сервера в клиентском режиме и адрес клиента в [серверном](#серверный-режим). +- related icmp проходят по профилю исходного пакета, поиск профиля не выполняется. +- Для unrelated icmp и raw ip проверяются адреса источника и приемника, совпадение фиксируется при совпадении любого из адресов. + ### Фильтрация по листам Если имеются фильтры по хостлистам, и есть хотя бы один домен в любом хостлисте или указан автохостлист, @@ -4215,8 +4222,9 @@ function oob(ctx, desync) - Для протоколов, в которых в самом начале сервер ждет запроса от клиента, требуется разрешение входящих в пределах `--in-range=-s1`. В Windows `--wf-tcp-in` не нужен. Достаточно автоматически перехватываемых SYN. К таким протоколам относятся http и tls. - Для протоколов, где сервер что-то шлет до первого сообщения от клиента, требуется разрешить все входящие пакеты до отсылки первого исходящего пакета с данными. В Windows `--wf-tcp-in` обязателен. - Не может быть отфильтровано по пейлоаду, поскольку после начала модификации tcp handshake соскок уже невозможен, иначе поедут sequence. -- Фильтрация по хостлистам невозможна ни в каком виде, даже при `--ipcache-hostname`. Если начал - закончи или не начинай. Это главное правило oob. Никаких решений по отмене ни по каким условиям. - oob - длящаяся десинхронизация. Если возможно переключение профилей до момента окончания работы oob, oob должен быть дублирован в другой профиль, иначе TCP будет сломан из-за десинхронизации sequence. +- Функция помечает специальный флаг, что была вызвана с самого начала соединения. Если управление получено после перескока профиля, происходит немедленный cutoff. +- Фильтрация по хостлистам возможна только при `--ipcache-hostname`. Если в кэше хоста еще нет, и профиль получает управление не с начала соединения, срабатывает предыдущий пункт. - Не может работать с функциями, предполагающими отправку текущего пейлоада - multisplit, multidisorder, fakedsplit, fakeddisorder и тд. Они будут работать, но будут слать дубль без OOB. Ожидаемый результат "разбить на сегменты и всунуть OOB" как в tpws получить таким образом невозможно. - Если пейлоад [многопакетный](#особенности-приема-многопакетных-пейлоадов) - отсылается весь [reasm](#особенности-приема-многопакетных-пейлоадов). OOB вставляется в тот сегмент, куда попал urp. В этом сегменте th_urp нормализуется по смещению сегмента, выставляется флаг TH_URG. Остальные части шлются как есть. Функция дропает весь replay, затем уходит в [cutoff](#instance_cutoff) по обоим направлениям.