Какие вызовы API используются для открытия порта в брандмауэре Windows?
-
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).