1

Обычно я бы использовал FireWall для блокировки доступа приложения к Интернету. Но я не хочу настраивать свою систему FireWall только для приложения.

То, что я хочу: создать файл bat, чтобы запустить приложение. Файл bat похож на этот.

Если я запускаю файл bat, приложение блокируется от доступа к Интернету. Если я запускаю приложение напрямую, приложение может получить доступ к Интернету.

Возможно ли это сделать?

1 ответ1

0

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

Правила блокировки настроек

:: Variables
set RULE_NAME=TemporaryBlock
set PROGRAM=C:\Program Files (x86)\App\app.exe

netsh advfirewall firewall add rule name="%RULE_NAME%" dir=in action=block profile=any program="%PROGRAM%"
netsh advfirewall firewall add rule name="%RULE_NAME%" dir=out action=block profile=any program="%PROGRAM%"

Запустите приложение с заблокированным интернетом

@echo off

:: Variables
set RULE_NAME=TemporaryBlock
set PROGRAM=C:\Program Files (x86)\App\app.exe

:: Block the app
netsh advfirewall firewall set rule name="%RULE_NAME%" dir=in new enable=yes
netsh advfirewall firewall set rule name="%RULE_NAME%" dir=out new enable=yes

:: Running the app
start "" /wait "%PROGRAM%"

:: Disable the firewall rules
netsh advfirewall firewall set rule name="%RULE_NAME%" dir=in new enable=no
netsh advfirewall firewall set rule name="%RULE_NAME%" dir=out new enable=no

подробности

  • документация: netsh advfirewall firewall add rule -?
  • Вы также можете создавать и удалять правила при каждом запуске приложения, но мне нравится создавать правила один раз, а затем просто включить или отключить их.
  • вам нужны права администратора

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .