Normalmente, usaría FireWall paraBloquear el acceso de una aplicación a Internet. Pero no quiero configurar mi sistema FireWall sólo para una aplicación.
Lo que quiero es: crear un archivo bat para iniciar una aplicación. El archivo bat similar aeste.
Si ejecuto el archivo bat, la aplicación no puede acceder a Internet. Si ejecuto la aplicación directamente, la aplicación puede acceder a Internet.
¿Es posible hacer eso?
Respuesta1
Puede agregar una regla de firewall para bloquear el tráfico entrante y saliente antes de ejecutar la aplicación y deshabilitar (o eliminar) las reglas de firewall después de salir.
Configurar reglas de bloqueo
:: 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%"
Ejecute la aplicación con Internet bloqueado.
@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
Detalles
- documentación:
netsh advfirewall firewall add rule -?
- También puedes crear y eliminar las reglas cada vez que ejecutas la aplicación, pero a mí me gusta crear las reglas una vez y luego habilitarlas o deshabilitarlas más.
- necesitas derechos de administrador