Можно ли заблокировать приложению доступ в Интернет с помощью cmd?

Можно ли заблокировать приложению доступ в Интернет с помощью cmd?

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

Я хочу: создать bat-файл для запуска приложения. Bat-файл похож наэтот.

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

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

решение1

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

Настройка правил блокировки

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

Связанный контент