Какие вызовы API используются для открытия порта в брандмауэре Windows?

StackOverflow https://stackoverflow.com/questions/802687

  •  03-07-2019
  •  | 
  •  

Вопрос

У меня есть пакетный файл, который устанавливает WinVNC примерно за 1 секунду и запускает службу.Тем не менее, мне все равно придется вручную зайти в брандмауэр Windows и открыть порт, чтобы разрешить подключения.Как я могу сделать это программно?

Если бы я мог сделать это из командного файла, это было бы идеально, но я не против написать EXE-файл, если это необходимо.

Это было полезно?

Решение

Позволь мне погуглите это в Google для тебя:
http://www.windowsecurity.com/articles/Customizing-Windows-Firewall.html

На этой странице представлено множество способов настройки брандмауэра, среди которых использование netsh.exe это, похоже, дает доступ командной строки к брандмауэру Windows.

Другие советы

Брандмауэр Windows имеет свой собственный API для этой цели: Брандмауэр Windows и брандмауэр Windows с повышенной безопасностью.Посмотрите на метод INetFwOpenPorts::Add().

Вот хороший ресурс, которым я пользовался несколько раз в прошлом.Я знаю, что это типичная "ссылка на сайт RTFM", но на самом деле это хороший ресурс, и я успешно им пользовался.

http://msdn.microsoft.com/en-us/library/aa366415 (ПРОТИВ 85).aspx

Удачи.

шуш погуглил это для меня, и я нашел вот это, которое отлично работает.

netsh firewall add portopening tcp #### "VNC"

Замена #### на порт.

Смотрите исходный код брандмауэра Windows (размещен в Google groups, Win32).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top