|
@ -180,7 +180,7 @@ nfqws |
|
|
--qnum=N ; номер очереди N |
|
|
--qnum=N ; номер очереди N |
|
|
--wsize=<winsize>[:<scale_factor>] ; менять tcp window size на указанный размер в SYN,ACK. если не задан scale_factor, то он не меняется (устарело !) |
|
|
--wsize=<winsize>[:<scale_factor>] ; менять tcp window size на указанный размер в SYN,ACK. если не задан scale_factor, то он не меняется (устарело !) |
|
|
--wssize=<winsize>[:<scale_factor>] ; менять tcp window size на указанный размер в исходящих пакетах. scale_factor по умолчанию 0. (см. conntrack !) |
|
|
--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 |
|
|
--ctrack-timeouts=S:E:F ; таймауты внутреннего conntrack в состояниях SYN, ESTABLISHED, FIN. по умолчанию 60:300:60 |
|
|
--hostcase ; менять регистр заголовка "Host:" по умолчанию на "host:". |
|
|
--hostcase ; менять регистр заголовка "Host:" по умолчанию на "host:". |
|
|
--hostnospace ; убрать пробел после "Host:" и переместить его в конец значения "User-Agent:" для сохранения длины пакета |
|
|
--hostnospace ; убрать пробел после "Host:" и переместить его в конец значения "User-Agent:" для сохранения длины пакета |
|
@ -197,6 +197,7 @@ nfqws |
|
|
--dpi-desync-any-protocol=0|1 ; 0(default)=работать только по http request и tls clienthello 1=по всем непустым пакетам данных |
|
|
--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-http=<filename> ; файл, содержащий фейковый http запрос для dpi-desync=fake, на замену стандартному w3.org |
|
|
--dpi-desync-fake-tls=<filename> ; файл, содержащий фейковый tls clienthello для 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> ; применять дурение только к хостам из листа |
|
|
--hostlist=<filename> ; применять дурение только к хостам из листа |
|
|
|
|
|
|
|
|
Параметры манипуляции могут сочетаться в любых комбинациях. |
|
|
Параметры манипуляции могут сочетаться в любых комбинациях. |
|
@ -311,7 +312,8 @@ mark нужен, чтобы сгенерированный поддельный |
|
|
|
|
|
|
|
|
CONNTRACK |
|
|
CONNTRACK |
|
|
nfqws оснащен ограниченной реализацией слежения за состоянием tcp соединений (conntrack). |
|
|
nfqws оснащен ограниченной реализацией слежения за состоянием tcp соединений (conntrack). |
|
|
Он включается для реализации некоторых методов противодействия DPI. На текущий момент это параметр --wssize. |
|
|
Он включается для реализации некоторых методов противодействия DPI. |
|
|
|
|
|
На текущий момент это параметры --wssize и --dpi-desync-cutoff. |
|
|
conntrack способен следить за фазой соединения : SYN,ESTABLISHED,FIN , количеством пакетов в каждую сторону, sequence numbers. |
|
|
conntrack способен следить за фазой соединения : SYN,ESTABLISHED,FIN , количеством пакетов в каждую сторону, sequence numbers. |
|
|
conntrack способен "кормиться" пакетами в обе или только в одну сторону. |
|
|
conntrack способен "кормиться" пакетами в обе или только в одну сторону. |
|
|
Соединение попадает в таблицу при обнаружении пакетов с выставленными флагами SYN или SYN,ACK. |
|
|
Соединение попадает в таблицу при обнаружении пакетов с выставленными флагами SYN или SYN,ACK. |
|
@ -330,8 +332,10 @@ conntrack - простенький, он не писался с учетом в |
|
|
В linux это может быть купировано через connbytes, но в BSD системах такой возможности нет. |
|
|
В linux это может быть купировано через connbytes, но в BSD системах такой возможности нет. |
|
|
В случае http(s) останавливаемся сразу после отсылки первого http запроса или TLS ClientHello. |
|
|
В случае http(s) останавливаемся сразу после отсылки первого http запроса или TLS ClientHello. |
|
|
Если вы имеете дело с не http(s), то вам потребуется параметр --wssize-cutoff. Он устанавливает номер исходящего |
|
|
Если вы имеете дело с не http(s), то вам потребуется параметр --wssize-cutoff. Он устанавливает номер исходящего |
|
|
пакета, с которого действие wssize прекращается. Если ваш протокол склонен к долгому бездействию, следует увеличить |
|
|
пакета, с которого действие wssize прекращается (нумерация с 1 по аналогии connbytes). |
|
|
таймаут фазы ESTABLISHED через параметр --ctrack-timeouts. Таймаут по умолчанию низкий - всего 5 минут. |
|
|
Если проскочит пакет с http request или TLS ClientHello, действие wssize прекращается сразу же, не дожидаясь wssize-cutoff. |
|
|
|
|
|
Если ваш протокол склонен к долгому бездействию, следует увеличить таймаут фазы ESTABLISHED через параметр --ctrack-timeouts. |
|
|
|
|
|
Таймаут по умолчанию низкий - всего 5 минут. |
|
|
Не забывайте, что nfqws кормится приходящими на него пакетами. Если вы ограничили поступление пакетов через connbytes, |
|
|
Не забывайте, что nfqws кормится приходящими на него пакетами. Если вы ограничили поступление пакетов через connbytes, |
|
|
то в таблице могут остаться повисшие соединения в фазе ESTABLISHED, которые отвалятся только по таймауту. |
|
|
то в таблице могут остаться повисшие соединения в фазе ESTABLISHED, которые отвалятся только по таймауту. |
|
|
Для диагностики состояния conntrack пошлите сигнал SIGUSR1 процессу nfqws : killall -SIGUSR1 nfqws. |
|
|
Для диагностики состояния conntrack пошлите сигнал SIGUSR1 процессу nfqws : killall -SIGUSR1 nfqws. |
|
@ -351,6 +355,11 @@ window size итоговый размер окна стал максимальн |
|
|
--wssize может замедлять скорость и/или увеличивать время ответа сайтов, поэтому если есть другие работающие способы |
|
|
--wssize может замедлять скорость и/или увеличивать время ответа сайтов, поэтому если есть другие работающие способы |
|
|
обхода DPI, лучше применять их. |
|
|
обхода DPI, лучше применять их. |
|
|
|
|
|
|
|
|
|
|
|
--dpi-desync-cutoff позволяет задать предел по номеру исходящего пакета, при достижении которого прекращается |
|
|
|
|
|
применение dpi-desync. Полезно совместно с --dpi-desync-any-protocol=1. |
|
|
|
|
|
На склонных к бездействию соединениях следует изменить таймауты conntrack. |
|
|
|
|
|
Если соединение выпало из conntrack и задана опция --dpi-desync-cutoff, dpi desync применяться не будет. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tpws |
|
|
tpws |
|
|
----- |
|
|
----- |
|
|