mirror of
https://github.com/bol-van/zapret.git
synced 2025-05-24 22:32:58 +03:00
nfqws: --dpi-desync-cutoff
This commit is contained in:
@@ -157,6 +157,7 @@ nfqws takes the following parameters:
|
||||
--dpi-desync-any-protocol=0|1 ; 0(default)=desync only http and tls 1=desync any nonempty data packet
|
||||
--dpi-desync-fake-http=<filename> ; file containing fake http request. replacement for built-in
|
||||
--dpi-desync-fake-tls=<filename> ; file containing fake TLS ClientHello (for https). replacement for built-in
|
||||
--dpi-desync-cutoff=N ; apply dpi desync only to packet numbers less than N
|
||||
--hostlist=<filename> ; apply fooling only to the listed hosts (one host per line, subdomains auto apply)
|
||||
|
||||
The manipulation parameters can be combined in any way.
|
||||
@@ -273,6 +274,8 @@ If you do not stop and set the low wssize all the time, the speed will drop cata
|
||||
Linux can overcome this using connbytes filter but other OS may not include similar filter.
|
||||
In http(s) case wssize stops after the first http request or TLS ClientHello.
|
||||
If you deal with a non-http(s) protocol you need --wssize-cutoff. It sets the number of the outgoing packet where wssize stops.
|
||||
(numbering starts from 1).
|
||||
If a http request or TLS ClientHello packet is detected wssize stops immediately ignoring wssize-cutoff option.
|
||||
If your protocol is prone to long inactivity, you should increase ESTABLISHED phase timeout using --ctrack-timeouts.
|
||||
Default timeout is low - only 5 mins.
|
||||
Don't forget that nfqws feeds with redirected packets. If you have limited redirection with connbytes
|
||||
@@ -293,6 +296,11 @@ Hostlist filter does not affect --wssize because it works since the connection i
|
||||
to extract the host name.
|
||||
--wssize may slow down sites and/or increase response time. It's desired to use another methods if possible.
|
||||
|
||||
--dpi-desync-cutoff allows you to set the limit on the number of the outgoing packet, at which it stops
|
||||
applying dpi-desync. Useful with --dpi-desync-any-protocol=1.
|
||||
If the connection falls out of the conntrack and --dpi-desync-cutoff is set, dpi desync will not be applied.
|
||||
Set conntrack timeouts appropriately.
|
||||
|
||||
|
||||
tpws
|
||||
-----
|
||||
|
@@ -180,7 +180,7 @@ nfqws
|
||||
--qnum=N ; номер очереди N
|
||||
--wsize=<winsize>[:<scale_factor>] ; менять tcp window size на указанный размер в SYN,ACK. если не задан scale_factor, то он не меняется (устарело !)
|
||||
--wssize=<winsize>[:<scale_factor>] ; менять tcp window size на указанный размер в исходящих пакетах. scale_factor по умолчанию 0. (см. conntrack !)
|
||||
--wssize-cutoff=N ; применять изменение server window size в исходящих пакетах по номеру меньше N
|
||||
--wssize-cutoff=N ; изменять server window size в исходящих пакетах по номеру меньше N
|
||||
--ctrack-timeouts=S:E:F ; таймауты внутреннего conntrack в состояниях SYN, ESTABLISHED, FIN. по умолчанию 60:300:60
|
||||
--hostcase ; менять регистр заголовка "Host:" по умолчанию на "host:".
|
||||
--hostnospace ; убрать пробел после "Host:" и переместить его в конец значения "User-Agent:" для сохранения длины пакета
|
||||
@@ -197,6 +197,7 @@ nfqws
|
||||
--dpi-desync-any-protocol=0|1 ; 0(default)=работать только по http request и tls clienthello 1=по всем непустым пакетам данных
|
||||
--dpi-desync-fake-http=<filename> ; файл, содержащий фейковый http запрос для dpi-desync=fake, на замену стандартному w3.org
|
||||
--dpi-desync-fake-tls=<filename> ; файл, содержащий фейковый tls clienthello для dpi-desync=fake, на замену стандартному w3.org
|
||||
--dpi-desync-cutoff=N ; применять dpi desync только к исходящим пакетам по номеру меньше N
|
||||
--hostlist=<filename> ; применять дурение только к хостам из листа
|
||||
|
||||
Параметры манипуляции могут сочетаться в любых комбинациях.
|
||||
@@ -311,7 +312,8 @@ mark нужен, чтобы сгенерированный поддельный
|
||||
|
||||
CONNTRACK
|
||||
nfqws оснащен ограниченной реализацией слежения за состоянием tcp соединений (conntrack).
|
||||
Он включается для реализации некоторых методов противодействия DPI. На текущий момент это параметр --wssize.
|
||||
Он включается для реализации некоторых методов противодействия DPI.
|
||||
На текущий момент это параметры --wssize и --dpi-desync-cutoff.
|
||||
conntrack способен следить за фазой соединения : SYN,ESTABLISHED,FIN , количеством пакетов в каждую сторону, sequence numbers.
|
||||
conntrack способен "кормиться" пакетами в обе или только в одну сторону.
|
||||
Соединение попадает в таблицу при обнаружении пакетов с выставленными флагами SYN или SYN,ACK.
|
||||
@@ -330,8 +332,10 @@ conntrack - простенький, он не писался с учетом в
|
||||
В linux это может быть купировано через connbytes, но в BSD системах такой возможности нет.
|
||||
В случае http(s) останавливаемся сразу после отсылки первого http запроса или TLS ClientHello.
|
||||
Если вы имеете дело с не http(s), то вам потребуется параметр --wssize-cutoff. Он устанавливает номер исходящего
|
||||
пакета, с которого действие wssize прекращается. Если ваш протокол склонен к долгому бездействию, следует увеличить
|
||||
таймаут фазы ESTABLISHED через параметр --ctrack-timeouts. Таймаут по умолчанию низкий - всего 5 минут.
|
||||
пакета, с которого действие wssize прекращается (нумерация с 1 по аналогии connbytes).
|
||||
Если проскочит пакет с http request или TLS ClientHello, действие wssize прекращается сразу же, не дожидаясь wssize-cutoff.
|
||||
Если ваш протокол склонен к долгому бездействию, следует увеличить таймаут фазы ESTABLISHED через параметр --ctrack-timeouts.
|
||||
Таймаут по умолчанию низкий - всего 5 минут.
|
||||
Не забывайте, что nfqws кормится приходящими на него пакетами. Если вы ограничили поступление пакетов через connbytes,
|
||||
то в таблице могут остаться повисшие соединения в фазе ESTABLISHED, которые отвалятся только по таймауту.
|
||||
Для диагностики состояния conntrack пошлите сигнал SIGUSR1 процессу nfqws : killall -SIGUSR1 nfqws.
|
||||
@@ -351,6 +355,11 @@ window size итоговый размер окна стал максимальн
|
||||
--wssize может замедлять скорость и/или увеличивать время ответа сайтов, поэтому если есть другие работающие способы
|
||||
обхода DPI, лучше применять их.
|
||||
|
||||
--dpi-desync-cutoff позволяет задать предел по номеру исходящего пакета, при достижении которого прекращается
|
||||
применение dpi-desync. Полезно совместно с --dpi-desync-any-protocol=1.
|
||||
На склонных к бездействию соединениях следует изменить таймауты conntrack.
|
||||
Если соединение выпало из conntrack и задана опция --dpi-desync-cutoff, dpi desync применяться не будет.
|
||||
|
||||
|
||||
tpws
|
||||
-----
|
||||
|
Reference in New Issue
Block a user