Вы можете добавить правило брандмауэра, чтобы заблокировать любой входящий и исходящий трафик перед запуском приложения, и отключить (или удалить) правила брандмауэра после выхода.
Правила блокировки настроек
:: 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 -?
- Вы также можете создавать и удалять правила при каждом запуске приложения, но мне нравится создавать правила один раз, а затем просто включить или отключить их.
- вам нужны права администратора