mirror of
https://github.com/bol-van/zapret.git
synced 2025-08-10 01:02:03 +03:00
nfqws: --synack-split
This commit is contained in:
@@ -41,6 +41,7 @@ zapret является свободным и open source.
|
||||
- [IPTABLES ДЛЯ NFQWS](#iptables-для-nfqws)
|
||||
- [NFTABLES ДЛЯ NFQWS](#nftables-для-nfqws)
|
||||
- [FLOW OFFLOADING](#flow-offloading)
|
||||
- [ДУРЕНИЕ СО СТОРОНЫ СЕРВЕРА](#дурение-со-стороны-сервера)
|
||||
- [tpws](#tpws)
|
||||
- [TCP СЕГМЕНТАЦИЯ В TPWS](#tcp-сегментация-в-tpws)
|
||||
- [TLSREC](#tlsrec)
|
||||
@@ -179,6 +180,7 @@ dvtws, собираемый из тех же исходников (см. [док
|
||||
--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|d|s]N ; изменять server window size в исходящих пакетах (n), пакетах данных (d), относительных sequence (s) по номеру меньше N
|
||||
--synack-split=[0|1] ; 1 или отсутствие аргумента отсылает SYN,ACK tcp сегмент как раздельные SYN и ACK сегменты (техника для сервера !)
|
||||
--orig-ttl=<int> ; модифицировать TTL оригинального пакета
|
||||
--orig-ttl6=<int> ; модифицировать ipv6 hop limit оригинальных пакетов. если не указано, используется значение --orig-ttl
|
||||
--orig-autottl=[<delta>[:<min>[-<max>]]] ; режим auto ttl для ipv4 и ipv6. по умолчанию: +5:3-64. delta=0 отключает функцию
|
||||
@@ -884,6 +886,29 @@ iptables target `FLOWOFFLOAD` - это проприетарное изобрет
|
||||
Управление offload в nftables реализовано в базовом ядре linux без патчей.
|
||||
nftables - единственный способ включения offload на классическом Linux.
|
||||
|
||||
### ДУРЕНИЕ СО СТОРОНЫ СЕРВЕРА
|
||||
|
||||
Это тоже возможно.
|
||||
nfqws рассчитан на атаку со стороны клиента, поэтому он распознает прямой и обратный трафик на основании роли в установлении tcp соединения.
|
||||
Если проходит SYN, то source IP - это клиент. Если проходит SYN,ACK , то source IP - это сервер.
|
||||
Для UDP клиентом считается source IP первого прошедшего пакета по двум связкам ip-port.
|
||||
На сервере трафиком клиента будет считаться принятый трафик, а трафиком сервера - исходящий.
|
||||
|
||||
`--wssize` работает в любом случае, он может использоваться как на клиенте, так и на сервере.
|
||||
Остальные техники работают только если nfqws считает трафик трафиком клиента.
|
||||
Поэтому для их применения по исходящему с сервера трафику conntrack нужно выключить параметром `--ctrack-disable`.
|
||||
Если пакет не найден в conntrack, по нему идет работа как по пакету клиента.
|
||||
|
||||
Большинство протоколов опознаваться не будет, потому что система их опознавания рассчитана содержание пакетов от клиента.
|
||||
Нужно использовать `--dpi-desync-any-protocol` с ограничителями connbytes или start/cutoff.
|
||||
|
||||
Техника `synack-split` позволяет разбить tcp сегмент SYN,ACK на отдельные части с SYN и с ACK.
|
||||
В ответ на это клиент шлет SYN,ACK , что обычно характеризует сервер.
|
||||
У некоторых DPI от этого может ломаться алгоритм, и они перестают блокировать запрещенный контент.
|
||||
|
||||
Перенаправление трафика обычно идет по номеру source портов и направлению original.
|
||||
original - это исходящий с системы трафик, reply - входящий.
|
||||
|
||||
|
||||
## tpws
|
||||
|
||||
|
Reference in New Issue
Block a user