mirror of
https://github.com/bol-van/zapret.git
synced 2025-05-24 22:32:58 +03:00
nfqws: n|d|s cutoff modes
This commit is contained in:
@@ -129,7 +129,7 @@ nfqws takes the following parameters:
|
||||
--qnum=<nfqueue_number>
|
||||
--wsize=<winsize>[:<scale_factor>] ; change window size in SYN,ACK packets. default is not to change scale factor (OBSOLETE !)
|
||||
--wssize=<winsize>[:<scale_factor>] ; change window size in outgoing packets. default scale factor is 0. (see CONNTRACK)
|
||||
--wssize-cutoff=N ; apply server wsize only to packet numbers less than N
|
||||
--wssize-cutoff=[n|d|s]N ; apply server wsize only to packet numbers (n, default), data packet numbers (d), relative sequence (s) less than N
|
||||
--ctrack-timeouts=S:E:F ; internal conntrack timeouts for SYN, ESTABLISHED and FIN stages. default 60:300:60
|
||||
--hostcase ; change Host: => host:
|
||||
--hostspell=HoSt ; exact spelling of the "Host" header. must be 4 chars. default is "host"
|
||||
@@ -154,7 +154,7 @@ nfqws takes the following parameters:
|
||||
--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-fake-unknown=<filename> ; file containing unknown protocol fake payload. default is 256 zeroes
|
||||
--dpi-desync-cutoff=N ; apply dpi desync only to packet numbers less than N
|
||||
--dpi-desync-cutoff=[n|d|s]N ; apply dpi desync only to packet numbers (n, default), data packet numbers (d), relative sequence (s) less than N
|
||||
--hostlist=<filename> ; apply fooling only to the listed hosts (one host per line, subdomains auto apply)
|
||||
```
|
||||
|
||||
@@ -337,9 +337,10 @@ Linux can overcome this using connbytes filter but other OS may not include simi
|
||||
|
||||
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.
|
||||
If you deal with a non-http(s) protocol you need `--wssize-cutoff`. It sets the threshold where wssize stops.
|
||||
|
||||
(numbering starts from 1).
|
||||
Threshold can be prefixed with 'n' (packet number starting from 1), 'd' (data packet number starting from 1),
|
||||
's' (relative sequence number - sent by client bytes + 1).
|
||||
|
||||
If a http request or TLS ClientHello packet is detected wssize stops immediately ignoring wssize-cutoff option.
|
||||
|
||||
@@ -373,8 +374,9 @@ 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`.
|
||||
`--dpi-desync-cutoff` allows you to set the threshold at which it stops applying dpi-desync.
|
||||
Can be prefixed with 'n', 'd', 's' symbol the same way as `--wssize-cutoff`.
|
||||
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.
|
||||
|
@@ -181,7 +181,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|d|s]N ; изменять server window size в исходящих пакетах (n), пакетах данных (d), относительных sequence (s) по номеру меньше N
|
||||
--ctrack-timeouts=S:E:F ; таймауты внутреннего conntrack в состояниях SYN, ESTABLISHED, FIN. по умолчанию 60:300:60
|
||||
--hostcase ; менять регистр заголовка "Host:" по умолчанию на "host:".
|
||||
--hostnospace ; убрать пробел после "Host:" и переместить его в конец значения "User-Agent:" для сохранения длины пакета
|
||||
@@ -202,7 +202,7 @@ nfqws
|
||||
--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-fake-unknown=<filename> ; файл, содержащий фейковый пейлоад неизвестного протокола для dpi-desync=fake, на замену стандартным нулям 256 байт
|
||||
--dpi-desync-cutoff=N ; применять dpi desync только к исходящим пакетам по номеру меньше N
|
||||
--dpi-desync-cutoff=[n|d|s]N ; применять dpi desync только в исходящих пакетах (n), пакетах данных (d), относительных sequence (s) по номеру меньше N
|
||||
--hostlist=<filename> ; применять дурение только к хостам из листа
|
||||
|
||||
Параметры манипуляции могут сочетаться в любых комбинациях.
|
||||
@@ -378,8 +378,9 @@ conntrack - простенький, он не писался с учетом в
|
||||
знать когда надо остановиться. Если не остановиться и все время устанавливать низкий wssize, скорость упадет катастрофически.
|
||||
В linux это может быть купировано через connbytes, но в BSD системах такой возможности нет.
|
||||
В случае http(s) останавливаемся сразу после отсылки первого http запроса или TLS ClientHello.
|
||||
Если вы имеете дело с не http(s), то вам потребуется параметр --wssize-cutoff. Он устанавливает номер исходящего
|
||||
пакета, с которого действие wssize прекращается (нумерация с 1 по аналогии connbytes).
|
||||
Если вы имеете дело с не http(s), то вам потребуется параметр --wssize-cutoff. Он устанавливает предел, с которого действие
|
||||
wssize прекращается. Префикс d перед номером означает учитывать только пакеты с data payload, префикс s - relative sequence number,
|
||||
проще говоря количество переданных клиентом байтов + 1.
|
||||
Если проскочит пакет с http request или TLS ClientHello, действие wssize прекращается сразу же, не дожидаясь wssize-cutoff.
|
||||
Если ваш протокол склонен к долгому бездействию, следует увеличить таймаут фазы ESTABLISHED через параметр --ctrack-timeouts.
|
||||
Таймаут по умолчанию низкий - всего 5 минут.
|
||||
@@ -402,8 +403,9 @@ window size итоговый размер окна стал максимальн
|
||||
--wssize может замедлять скорость и/или увеличивать время ответа сайтов, поэтому если есть другие работающие способы
|
||||
обхода DPI, лучше применять их.
|
||||
|
||||
--dpi-desync-cutoff позволяет задать предел по номеру исходящего пакета, при достижении которого прекращается
|
||||
применение dpi-desync. Полезно совместно с --dpi-desync-any-protocol=1.
|
||||
--dpi-desync-cutoff позволяет задать предел, при достижении которого прекращается применение dpi-desync.
|
||||
Доступны префиксы n,d,s по аналогии с --wssize-cutoff.
|
||||
Полезно совместно с --dpi-desync-any-protocol=1.
|
||||
На склонных к бездействию соединениях следует изменить таймауты conntrack.
|
||||
Если соединение выпало из conntrack и задана опция --dpi-desync-cutoff, dpi desync применяться не будет.
|
||||
|
||||
|
Reference in New Issue
Block a user