Фильтр WinDivert, чтобы заблокировать все TCP соединения, кроме IP - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь написать фильтр для использования с WinDivert , чтобы заблокировать все TCP-соединения, кроме IP.

Когда я пишу

outbound && ip && (tcp.DstPort == 80 || tcp.DstPort == 443) && tcp.PayloadLength> 0

он блокирует все соединения.Но когда я пишу

outbound && ip && 
(tcp.DstPort == 80 || tcp.DstPort == 443) && 
tcp.PayloadLength> 0 && ip.src! = 91.198.174.192

, все по-прежнему блокируется, а IP-адрес не открывается.

Я думаю, что мой фильтр неверен, и любая помощь будет оценена.

Спасибо

1 Ответ

0 голосов
/ 13 марта 2019

свойство ip.src не существует, но ip.SrcAddr (чувствительно к регистру!).

но если идентификатор фильтра адресован исходящему, это может означать адрес назначения (ip.DstAddr), поэтому вам нужно набрать:

outbound && ip.DstAddr != x.x.x.x

СОВЕТ: вы можете проверить выражение с помощью инструмента "netfilter.exe", загрузить из здесь (извлечь папку и открыть командную строку в папке x86_64 или x86, и run, передаваемый строковым аргументом, представляющим выражение фильтра)

...