mirror of
https://github.com/bol-van/zapret.git
synced 2024-11-29 21:40:52 +03:00
Review fixes README
This commit is contained in:
parent
4bdce508af
commit
b2f94b083c
22
README.md
22
README.md
@ -297,7 +297,7 @@ dvtws, собираемый из тех же исходников (см. bsd.txt
|
|||||||
невозможна. Если вы потом удалите файл, и у процесса не будет прав на создание файла в его директории, лог больше не
|
невозможна. Если вы потом удалите файл, и у процесса не будет прав на создание файла в его директории, лог больше не
|
||||||
будет вестись. Вместо удаления лучше использовать truncate. В шелле это можно сделать через команду ": >filename"
|
будет вестись. Вместо удаления лучше использовать truncate. В шелле это можно сделать через команду ": >filename"
|
||||||
|
|
||||||
## АТАКА ДЕСИНХРОНИЗАЦИИ DPI
|
### АТАКА ДЕСИНХРОНИЗАЦИИ DPI
|
||||||
|
|
||||||
___
|
___
|
||||||
Суть ее в следующем. После выполнения tcp 3-way handshake идет первый пакет с данными от клиента. Там обычно `GET / ...`
|
Суть ее в следующем. После выполнения tcp 3-way handshake идет первый пакет с данными от клиента. Там обычно `GET / ...`
|
||||||
@ -467,7 +467,7 @@ mark нужен, чтобы сгенерированный поддельный
|
|||||||
3 - стандартная ситуация приема одного пакета запроса
|
3 - стандартная ситуация приема одного пакета запроса
|
||||||
4-6 - на случай ретрансмиссии или запроса длиной в несколько пакетов (TLSClientHello с kyber, например)
|
4-6 - на случай ретрансмиссии или запроса длиной в несколько пакетов (TLSClientHello с kyber, например)
|
||||||
|
|
||||||
## КОМБИНИРОВАНИЕ МЕТОДОВ ДЕСИНХРОНИЗАЦИИ
|
### КОМБИНИРОВАНИЕ МЕТОДОВ ДЕСИНХРОНИЗАЦИИ
|
||||||
___
|
___
|
||||||
|
|
||||||
В параметре dpi-desync можно указать до 3 режимов через запятую.
|
В параметре dpi-desync можно указать до 3 режимов через запятую.
|
||||||
@ -477,7 +477,7 @@ ___
|
|||||||
Режим 1-й фазы может быть `fake`, `rst`, `rstack`. Режим 2-й фазы может быть `disorder`, `disorder2`, `split`, `split2`, `ipfrag2`.
|
Режим 1-й фазы может быть `fake`, `rst`, `rstack`. Режим 2-й фазы может быть `disorder`, `disorder2`, `split`, `split2`, `ipfrag2`.
|
||||||
Может быть полезно, когда у провайдера стоит не один DPI.
|
Может быть полезно, когда у провайдера стоит не один DPI.
|
||||||
|
|
||||||
## РЕЖИМ SYNACK
|
### РЕЖИМ SYNACK
|
||||||
___
|
___
|
||||||
В документации по geneva это называется "TCB turnaround". Попытка ввести DPI в заблуждение относительно
|
В документации по geneva это называется "TCB turnaround". Попытка ввести DPI в заблуждение относительно
|
||||||
ролей клиента и сервера.
|
ролей клиента и сервера.
|
||||||
@ -505,19 +505,19 @@ ip6tables -D zone_wan_output -m comment --comment '!fw3' -j zone_wan_dest_ACCEPT
|
|||||||
Если не принять эти меры, отсылка SYN,ACK сегмента вызовет ошибку и операция будет прервана.
|
Если не принять эти меры, отсылка SYN,ACK сегмента вызовет ошибку и операция будет прервана.
|
||||||
Остальные режимы тоже не сработают. Если поймете, что вам synack не нужен, обязательно верните правило дропа INVALID.
|
Остальные режимы тоже не сработают. Если поймете, что вам synack не нужен, обязательно верните правило дропа INVALID.
|
||||||
|
|
||||||
## РЕЖИМ SYNDATA
|
### РЕЖИМ SYNDATA
|
||||||
___
|
___
|
||||||
Тут все просто. Добавляются данные в пакет SYN. Все ОС их игнорируют, если не используется TCP fast open (TFO),
|
Тут все просто. Добавляются данные в пакет SYN. Все ОС их игнорируют, если не используется TCP fast open (TFO),
|
||||||
а DPI может воспринять, не разобравшись есть там TFO или нет.
|
а DPI может воспринять, не разобравшись есть там TFO или нет.
|
||||||
Оригинальные соединения с TFO не трогаются, поскольку это их точно сломает.
|
Оригинальные соединения с TFO не трогаются, поскольку это их точно сломает.
|
||||||
Без уточняющего параметра добавляются 16 нулевых байтов.
|
Без уточняющего параметра добавляются 16 нулевых байтов.
|
||||||
|
|
||||||
## ВИРТУАЛЬНЫЕ МАШИНЫ
|
### ВИРТУАЛЬНЫЕ МАШИНЫ
|
||||||
___
|
___
|
||||||
Изнутри VM от virtualbox и vmware в режиме NAT не работают многие техники пакетной магии nfqws.
|
Изнутри VM от virtualbox и vmware в режиме NAT не работают многие техники пакетной магии nfqws.
|
||||||
Принудительно заменяется ttl, не проходят фейк пакеты. Необходимо настроить сеть в режиме bridge.
|
Принудительно заменяется ttl, не проходят фейк пакеты. Необходимо настроить сеть в режиме bridge.
|
||||||
|
|
||||||
## CONNTRACK
|
### CONNTRACK
|
||||||
___
|
___
|
||||||
nfqws оснащен ограниченной реализацией слежения за состоянием tcp соединений (conntrack).
|
nfqws оснащен ограниченной реализацией слежения за состоянием tcp соединений (conntrack).
|
||||||
Он включается для реализации некоторых методов противодействия DPI.
|
Он включается для реализации некоторых методов противодействия DPI.
|
||||||
@ -572,7 +572,7 @@ window size итоговый размер окна стал максимальн
|
|||||||
На склонных к бездействию соединениях следует изменить таймауты conntrack.
|
На склонных к бездействию соединениях следует изменить таймауты conntrack.
|
||||||
Если соединение выпало из conntrack и задана опция `--dpi-desync-cutoff`, `dpi desync` применяться не будет.
|
Если соединение выпало из conntrack и задана опция `--dpi-desync-cutoff`, `dpi desync` применяться не будет.
|
||||||
|
|
||||||
## РЕАССЕМБЛИНГ
|
### РЕАССЕМБЛИНГ
|
||||||
___
|
___
|
||||||
nfqws поддерживает реассемблинг некоторых видов запросов.
|
nfqws поддерживает реассемблинг некоторых видов запросов.
|
||||||
На текущий момент это TLS и QUIC ClientHello. Они бывает длинными, если в chrome включить пост-квантовую
|
На текущий момент это TLS и QUIC ClientHello. Они бывает длинными, если в chrome включить пост-квантовую
|
||||||
@ -592,7 +592,7 @@ chrome рандомизирует фингерпринт TLS. SNI может о
|
|||||||
и заданы опции fake,split2, то перед первым пакетом идет fake, затем первый пакет в оригинале,
|
и заданы опции fake,split2, то перед первым пакетом идет fake, затем первый пакет в оригинале,
|
||||||
а последний пакет разбивается на 2 сегмента. В итоге имеем фейк в начале и 3 реальных сегмента.
|
а последний пакет разбивается на 2 сегмента. В итоге имеем фейк в начале и 3 реальных сегмента.
|
||||||
|
|
||||||
## ПОДДЕРЖКА UDP
|
### ПОДДЕРЖКА UDP
|
||||||
___
|
___
|
||||||
Атаки на udp более ограничены в возможностях. udp нельзя фрагментировать иначе, чем на уровне ip.
|
Атаки на udp более ограничены в возможностях. udp нельзя фрагментировать иначе, чем на уровне ip.
|
||||||
Для UDP действуют только режимы десинхронизации `fake`, `hopbyhop`, `destopt`, `ipfrag1`, `ipfrag2`, `udplen`, `tamper`.
|
Для UDP действуют только режимы десинхронизации `fake`, `hopbyhop`, `destopt`, `ipfrag1`, `ipfrag2`, `udplen`, `tamper`.
|
||||||
@ -612,7 +612,7 @@ ___
|
|||||||
Атака fake полезна только для stateful DPI, она бесполезна для анализа на уровне отдельных пакетов.
|
Атака fake полезна только для stateful DPI, она бесполезна для анализа на уровне отдельных пакетов.
|
||||||
По умолчанию fake наполнение - 64 нуля. Можно указать файл в `--dpi-desync-fake-unknown-udp`.
|
По умолчанию fake наполнение - 64 нуля. Можно указать файл в `--dpi-desync-fake-unknown-udp`.
|
||||||
|
|
||||||
## IP ФРАГМЕНТАЦИЯ
|
### IP ФРАГМЕНТАЦИЯ
|
||||||
___
|
___
|
||||||
Современная сеть практически не пропускает фрагментированные tcp на уровне ip.
|
Современная сеть практически не пропускает фрагментированные tcp на уровне ip.
|
||||||
На udp с этим дело получше, поскольку некоторые udp протоколы могут опираться на этот механизм (IKE старых версий).
|
На udp с этим дело получше, поскольку некоторые udp протоколы могут опираться на этот механизм (IKE старых версий).
|
||||||
@ -669,7 +669,7 @@ options ip6table_raw raw_before_defrag=1
|
|||||||
Видимо единственный рабочий метод - отказаться от iptables и использовать nftables.
|
Видимо единственный рабочий метод - отказаться от iptables и использовать nftables.
|
||||||
Хук должен быть с приоритетом 101 или выше.
|
Хук должен быть с приоритетом 101 или выше.
|
||||||
|
|
||||||
## МНОЖЕСТВЕННЫЕ СТРАТЕГИИ
|
### МНОЖЕСТВЕННЫЕ СТРАТЕГИИ
|
||||||
___
|
___
|
||||||
`nfqws` способен по-разному реагировать на различные запросы и применять разные стратегии дурения.
|
`nfqws` способен по-разному реагировать на различные запросы и применять разные стратегии дурения.
|
||||||
Это реализовано посредством поддержки множества профилей дурения.
|
Это реализовано посредством поддержки множества профилей дурения.
|
||||||
@ -951,7 +951,7 @@ TCP_USER_TIMEOUT. Под таймаутом подразумевается вр
|
|||||||
что данных для передачи нет. Полезно для сокращения время закрытия подвисших соединений.
|
что данных для передачи нет. Полезно для сокращения время закрытия подвисших соединений.
|
||||||
Поддерживается только на Linux и MacOS.
|
Поддерживается только на Linux и MacOS.
|
||||||
|
|
||||||
## МНОЖЕСТВЕННЫЕ СТРАТЕГИИ
|
### МНОЖЕСТВЕННЫЕ СТРАТЕГИИ
|
||||||
___
|
___
|
||||||
Работают аналогично `nfqws`, кроме некоторых моментов.
|
Работают аналогично `nfqws`, кроме некоторых моментов.
|
||||||
Нет параметра `--filter-udp`, поскольку `tpws` udp не поддерживает.
|
Нет параметра `--filter-udp`, поскольку `tpws` udp не поддерживает.
|
||||||
|
Loading…
Reference in New Issue
Block a user