Александр Терентьев (aterentiev) wrote,
Александр Терентьев
aterentiev

Category:

[SOLVED] Проверка "пробивания" файрволла на Win

Потребовалось автоматизировать одну задачу, в процессе которой нужно узнать, сконфигурирован ли встроенный файрволл винды на пропуск определенного UDP порта (incoming) к определенной программе (*.ехе). Если нет, внести для этого новое правило.

Так вот, вопрос: Как скриптами можно проверить наличие "нужной дыры"?

Я знаю, как в VBS пройтись по всем правилам:

Set fwPolicy2 = CreateObject("HNetCfg.FwPolicy2")
For Each rule In fwPolicy2.Rules
...


В rule есть вся инфа: ApplicationName, Protocol, Local/RemotePorts, Local/RemoteAddresses, Interfaces...

Но это простой доступ к списку правил. Можно, конечно, и пройтись по всем и попытаться проверить наличие хоть одного правила, разрешающего то, что нужно (но придется играться со списками, ведь ApplicationName может быть Any, ведь Ports может содержать как отдельный порт, так и список или диапазон...)

Может быть, есть более элегантный метод?

PS. То же самое можно получить от netsh:
netsh advfirewall firewall show rule name=all
Но вопрос именно в том, как проверить, есть ли уже разрешающее правило

Решение пришло из ru-programming
Tags: Вопрос, Работа
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments