todo/Zapret/--wf-raw-part.md
loop-uh 737f065567 Вики переехала на wiki2.zapret.moe: домен заменён во всём хранилище
wiki.zapret.moe заблокирован в России, читатели до редиректа не доходят. Во всех заметках, плашках [!mirror], ссылках и скриптах домен заменён на wiki2.zapret.moe; в AGENTS.md записано правило — ссылаться только на wiki2. Скрипт статистики считает своими заходы с обоих доменов. Чужие незакоммиченные правки в nuc/ в коммит не попали — только замена домена.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 15:15:27 -04:00

59 lines
No EOL
3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
date:
tags:
link:
aliases:
img:
description: "Raw-фильтры WinDivert в Zapret: --wf-raw-part и --wf-raw, отбор пакетов по портам и подсетям через диапазоны ip.DstAddr, примеры для /24 и /16."
---
> [!mirror] Резервное зеркало
> Актуальная версия этой страницы — на основной вики: [wiki2.zapret.moe/Zapret/--wf-raw-part](https://wiki2.zapret.moe/Zapret/--wf-raw-part)
# Внутренние фильтры WinDivert
В `zapret\windivert.filter\*.txt` лежат WinDivert raw-фильтры — они отбирают пакеты по L3/L4 (ip/ipv6, tcp/udp, порты, inbound/outbound) и иногда по «сигнатурам» в payload. Доменного имени в IP‑пакетах нет, поэтому напрямую “по домену” в WinDivert‑фильтре обычно не фильтруют.
*Не путать их со встроенными [[filter|фильтрами]] Zapret!*
Домены: делаются на уровне winws/winws2 через [[hostlist|--hostlist]] / [[hostlist#**`--hostlist-domains`** - Фиксированный список доменов|--hostlist-domains]].
IP/подсети: можно фильтровать и в WinDivert‑фильтре (ip.DstAddr, ip.SrcAddr, ipv6.DstAddr, ipv6.SrcAddr), и (часто удобнее) через --ipset.
--wf-raw-part в запрете (и --wf-raw) используют обычный язык фильтров WinDivert — это и есть “raw фильтр”.
Подсети делать можно, но обычно через диапазон адресов, т.к. в WinDivert нет побитовых операций (маской “& 255.255.255.0” не сделать).
Пример raw-part (исходящие на 80/443 TCP и 443 UDP, только в одну подсеть /24):
```
outbound and ip and
(
(tcp and (tcp.DstPort == 80 or tcp.DstPort == 443)) or
(udp and udp.DstPort == 443)
) and
(ip.DstAddr >= 93.184.216.0 and ip.DstAddr <= 93.184.216.255)
```
Несколько подсетей — просто or:
```
outbound and ip and tcp and (tcp.DstPort == 443) and
(
(ip.DstAddr >= 93.184.216.0 and ip.DstAddr <= 93.184.216.255) or
(ip.DstAddr >= 151.101.0.0 and ip.DstAddr <= 151.101.255.255)
)
```
Шпаргалка по диапазонам:
| Запись | Диапазон |
|:--|:--|
| `A.B.C.0/24` | от `A.B.C.0` до `A.B.C.255` |
| `A.B.0.0/16` | от `A.B.0.0` до `A.B.255.255` |
пример как у LAN: `172.16.0.0/12 -> 172.16.0.0...172.31.255.255`
## Зачем это нужно?
Благодаря фильтрам можно добиться идеальной производительности даже если вы активно раздаете торренты
![[Pasted image 20260213230109.png]]
Без фильтров иногда программе бывает тяжело
![[Pasted image 20260213230115.png]]