Normalmente, eu usaria o FireWall paraBloquear o acesso de um aplicativo à Internet. Mas não quero configurar meu sistema FireWall apenas para um aplicativo.
O que eu quero é: criar um arquivo bat para iniciar uma aplicação. O arquivo bat semelhante aesse.
Se eu executar o arquivo bat, o acesso do aplicativo será bloqueado à Internet. Se eu executar o aplicativo diretamente, ele poderá acessar a Internet.
É possível fazer isso?
Responder1
Você pode adicionar uma regra de firewall para bloquear qualquer tráfego de entrada e saída antes de executar o aplicativo e desabilitar (ou excluir) as regras de firewall após sair.
Configurar regras de bloqueio
:: 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%"
Execute o aplicativo com a internet bloqueada
@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
Detalhes
- documentação:
netsh advfirewall firewall add rule -?
- você também pode criar e excluir as regras sempre que executar o aplicativo, mas gosto de criar as regras uma vez e depois ativá-las ou desativá-las mais
- você precisa de direitos de administrador