todo/Zapret/--wf-raw-part.md
loop-uh 0ad0bcc8dd
Some checks failed
Published content check / validate (push) Failing after 5s
seo+зеркало: [!mirror]-плашка со ссылкой на вики и description во frontmatter всех заметок
Каждая публикуемая заметка получила callout-шапку со ссылкой на свою страницу
wiki.zapret.moe (на самой вики она вырезается транформером RemoveMirrorCallout,
видна только на зеркале Obsidian Publish и в Forgejo) и SEO-поле description —
1–2 предложения для meta description обоих сайтов.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-26 22:05:57 +03:00

59 lines
No EOL
2.9 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] Резервное зеркало
> Актуальная версия этой страницы — на основной вики: [wiki.zapret.moe/Zapret/--wf-raw-part](https://wiki.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]]