|
1 | | -# zapret v71 |
| 1 | +# zapret v71.1 |
2 | 2 |
|
3 | 3 | # ВНИМАНИЕ, остерегайтесь мошенников |
4 | 4 |
|
@@ -39,6 +39,7 @@ zapret является свободным и open source. |
39 | 39 | - [ПОДДЕРЖКА UDP](#поддержка-udp) |
40 | 40 | - [IP ФРАГМЕНТАЦИЯ](#ip-фрагментация) |
41 | 41 | - [МНОЖЕСТВЕННЫЕ СТРАТЕГИИ](#множественные-стратегии) |
| 42 | + - [ФИЛЬТРАЦИЯ ПО WIFI](#фильтрация-по-wifi) |
42 | 43 | - [IPTABLES ДЛЯ NFQWS](#iptables-для-nfqws) |
43 | 44 | - [NFTABLES ДЛЯ NFQWS](#nftables-для-nfqws) |
44 | 45 | - [FLOW OFFLOADING](#flow-offloading) |
@@ -256,6 +257,7 @@ dvtws, собираемый из тех же исходников (см. [док |
256 | 257 | --filter-tcp=[~]port1[-port2]|* ; фильтр портов tcp для текущей стратегии. ~ означает инверсию. установка фильтра tcp и неустановка фильтра udp запрещает udp. поддерживается список через запятую. |
257 | 258 | --filter-udp=[~]port1[-port2]|* ; фильтр портов udp для текущей стратегии. ~ означает инверсию. установка фильтра udp и неустановка фильтра tcp запрещает tcp. поддерживается список через запятую. |
258 | 259 | --filter-l7=<proto> ; фильтр протокола L6-L7. поддерживается несколько значений через запятую. proto : http tls quic wireguard dht discord stun unknown |
| 260 | +--filter-ssid=ssid1[,ssid2,ssid3,...] ; фильтр по имени wifi сети (только для linux) |
259 | 261 | --ipset=<filename> ; включающий ip list. на каждой строчке ip или cidr ipv4 или ipv6. поддерживается множество листов и gzip. перечитка автоматическая. |
260 | 262 | --ipset-ip=<ip_list> ; фиксированный список подсетей через запятую. можно использовать # в начале для комментирования отдельных подсетей. |
261 | 263 | --ipset-exclude=<filename> ; исключающий ip list. на каждой строчке ip или cidr ipv4 или ipv6. поддерживается множество листов и gzip. перечитка автоматическая. |
@@ -772,6 +774,33 @@ L7 протокол становится известен обычно посл |
772 | 774 | > Вариант в ядре работает гораздо эффективнее. Это создавалось для систем без подд3ержки ipset в ядре. |
773 | 775 | > Конкретно - Windows и ядра Linux, собранные без nftables и ipset модулей ядра. Например, в android нет ipset. |
774 | 776 |
|
| 777 | +### ФИЛЬТРАЦИЯ ПО WIFI |
| 778 | + |
| 779 | +Имя wifi сети никак не связано с сетевым интерфейсом адаптера wifi. |
| 780 | +Интерфейс один, подключиться можно к любой сети. Для разных сетей разные стратегии. |
| 781 | +Стратегия от сети A не работает или ломает сеть B. Что делать ? |
| 782 | + |
| 783 | +Можно вручную запускать и снимать инстансы nfqws. Но можно поступить иначе. |
| 784 | +В windows версии winws есть глобальный фильтр `--ssid-filter`. |
| 785 | +Он включает или отключает инстанс winws в зависимости от подключенности любого адаптера к конкретной wifi сети. |
| 786 | +При этом не учитывается маршрутизация. Такой подход возможен потому, что к windivert можно прицепить несколько инстансов winws на пересекающихся фильтрах. |
| 787 | +При смене wifi сети одни будут включаться, другие выключаться. |
| 788 | + |
| 789 | +Для linux применяется иное решение. Фильтр `--filter-ssid` относится к конкретному профилю. |
| 790 | +Невозможно повесить несколько инстансов nfqws на одну и ту же очередь или направить один и тот же трафик на несколько очередей. |
| 791 | +Подключение и отключение от очереди разных инстансов сопряжено со сложностями синхронизации между ними. |
| 792 | +Поэтому обрабатывать трафик должен один инстанс, и он должен уметь работать с разными wifi сетями. |
| 793 | +Это и реализовано в параметре `--filter-ssid`. Он берет список имен wifi сетей (SSID) через запятую аналогично `--ssid-filter` для winws. |
| 794 | +Но при выборе профиля имеет значение куда идет конкретный обрабатываемый пакет. На какой интерфейс. Или с какого интерфейса пакет пришел, если он считается входящим. |
| 795 | +Поэтому даже если у вас часть трафика идет на одну сеть, часть на другую, а часть вообще не идет по wifi, то все это можно настроить. |
| 796 | + |
| 797 | +Информация о подключенных сетях берется способом, используемым командой `iw dev <ifname> info`. |
| 798 | +Как показывает опыт, не всегда возвращается SSID. Пока не выяснено с чем это связано. |
| 799 | +Перед использованием `--filter-ssid` удостоверьтесь, что iw возвращает имя сети. Иначе работать не будет. |
| 800 | + |
| 801 | +Сканируются все wifi интерфейсы, составляется список interface->SSID. Он обновляется по мере поступления |
| 802 | +пакетов, но не чаще 1 раза в секунду. |
| 803 | + |
775 | 804 | ### IPTABLES ДЛЯ NFQWS |
776 | 805 |
|
777 | 806 | iptables для задействования атаки на первые пакеты данных в tcp соединении : |
@@ -2287,7 +2316,7 @@ chcon u:object_r:system_file:s0 /data/local/tmp/zapret/tpws |
2287 | 2316 | Если компа нет, то развертка chroot - единственный вариант, хотя и неудобный. |
2288 | 2317 | Подойдет что-то легковесное, например, alpine или даже OpenWrt. |
2289 | 2318 | Если это не эмулятор android, то универсальная архитектура - arm (любой вариант). |
2290 | | -Если вы точно знаете, что ОС у вас 64-разрядная, то лучше вместо arm - aarch64. |
| 2319 | +Если вы точно знаете, что ОС у вас 64-разрядная, то лучше вместо arm - arm64. |
2291 | 2320 | Выяснить архитектуру можно командой `uname -a`. |
2292 | 2321 |
|
2293 | 2322 | ``` |
|
0 commit comments