- 帖子
- 505
- 积分
- 1230
- 技术
- 1
- 捐助
- 0
- 注册时间
- 2009-5-28
|
59楼
发表于 2021-7-23 21:34
| 只看该作者
回复 69# idwma
@echo off
setlocal EnableDelayedExpansion
@color 0a
title WIN高级防火墙的出站白名单模式控制联网
echo.
echo ----------请选择要执行的模式----------
echo.
echo 1.间断性阻断AAA.exe联网后不影响其他所有程序正常联网
echo 2.间断性阻断除AAA.exe之外的其他所有程序联网后不影响AAA.exe正常联网
echo 3.恢复默认【全部允许正常联网】
echo 4.全部禁止联网
echo 0.退出
echo.
echo.
:choose
set num=
set /p num=请输入数字选项[1/2/3/4/0]:
if "!num!"=="1" goto A
if "!num!"=="2" goto B
if "!num!"=="3" goto C
if "!num!"=="4" goto D
if "!num!"=="0" goto exit
Echo 选择无效,请重新输入
Echo.
Goto choose
:A
:echo 正在执行【仅阻断AAA.exe联网】
::阻断AAA.exe联网后不影响其他程序正常联网,也就是只针对一个exe控制
::如果不能结束进程的情况下,可以试试系统防火墙的出站白名单模式
@echo off
title=批处理阻止与解除某个exe程序的联网
netsh advfirewall set domainprofile firewallpolicy blockinbound,blockoutbound
netsh advfirewall set privateprofile firewallpolicy blockinbound,blockoutbound
netsh advfirewall set publicprofile firewallpolicy blockinbound,blockoutbound
netsh advfirewall firewall add rule name="允许所有" dir=out action=allow enable=yes
:loop
set/a n+=1
ping -n 6 127.0.1 >nul
echo 已断开%n%
netsh advfirewall firewall add rule name="阻断一次" dir=out action=block program="D:\AAA.exe" enable=yes
ping -n 9 127.0.1 >nul
echo 已连接%n%
netsh advfirewall firewall delete rule name="阻断一次"
goto :loop
:goto A
:B
:echo 正在执行【仅阻断除AAA.exe之外的其他程序联网】
::阻断除AAA.exe之外的其他程序联网后不影响AAA.exe正常联网,也就是只允许AAA.exe联网,间断性阻断和放行其他程序联网
@echo off
title=批处理阻止与解除除某个exe之外的其他程序的联网(阻断其他程序联网后不影响AAA.exe正常联网)
netsh advfirewall firewall add rule name="允许AAA.exe联网" dir=out action=allow program="D:\AAA.exe" enable=yes
:loop
set/a n+=1
ping -n 6 127.0.1 >nul
echo 已断开%n%
netsh advfirewall set allprofiles firewallpolicy blockinbound,blockoutbound
ping -n 9 127.0.1 >nul
echo 已连接%n%
netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
goto :loop
:goto B
:C
:echo 正在执行【全部允许正常联网】
@echo off
title=恢复默认【全部允许正常联网】
netsh advfirewall set domainprofile firewallpolicy blockinbound,AllowOutbound
netsh advfirewall set privateprofile firewallpolicy blockinbound,AllowOutbound
netsh advfirewall set publicprofile firewallpolicy blockinbound,AllowOutbound
pause
:goto C
:echo 正在执行【全部禁止联网】
@echo off
title=全部禁止联网
netsh advfirewall set domainprofile firewallpolicy blockinbound,blockoutbound
netsh advfirewall set privateprofile firewallpolicy blockinbound,blockoutbound
netsh advfirewall set publicprofile firewallpolicy blockinbound,blockoutbound
pause
:goto D |
|