[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 50# idwma

正在测试,有效果,但是发现阻断网络好像和拦截效果是不是不一样?拦截的话是不是等放行后数据会一次性到?而阻断的话相当是丢包?

TOP

回复 48# idwma
   @echo off
    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:\阻断一次.exe" enable=yes
    ping -n 9 127.0.1 >nul
    echo 已连接%n%
netsh advfirewall firewall delete rule name="阻断一次"
    goto :loop

如果只允许AAA.exe联网,而阻断和放行其他所有联网的话怎么修改?

TOP

回复 6# wh123wh123


    这不是VBS代码

TOP

回复 45# wh123wh123

怎么使用powershell
http://www.bathome.net/thread-59270-1-1.html

TOP

本帖最后由 newswan 于 2021-7-23 01:02 编辑

回复 39# newswan


netsh 和 ps 的完全等效
你这个 aaa.exe 本身并不联网,他会启动 aaa1.exe aaa2.exe 用这些程序联网
所以,你必须找到实际联网的那个程序,才能阻止

TOP

回复 54# idwma

如果只允许AAA.exe联网,而阻断和放行其他所有联网的话怎么修改?
    老师,您发完整代码,我比对一下才能看明白哪里不同

TOP

回复 58# idwma
::阻断除AAA.exe之外的其他程序联网后不影响AAA.exe正常联网,也就是只允许AAA.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=block  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=allow program="D:\AAA.exe" enable=yes
ping -n 9 127.0.1 >nul
echo 已连接%n%
netsh advfirewall firewall delete rule name="阻断所有"
goto :loop

TOP

回复 60# idwma
楼上的标题忘记修改了,
title=批处理阻止与解除某个exe程序的联网
应该是仅允许某个exe程序的联网,间断性禁止和放行其他程序联网

TOP

本帖最后由 wh1234567 于 2021-7-23 21:02 编辑

回复 60# idwma

@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
    是这样吗?这就是我说的另外一种功能代码吗?

TOP

回复 63# idwma

呵呵呵,

    @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
全部禁止联网的话是不是这样?

TOP

本帖最后由 wh1234567 于 2021-7-23 21:14 编辑

回复 65# idwma

那咋写?

----------请选择要执行的模式----------

1.间断性阻断AAA.exe联网后不影响其他所有程序正常联网
2.间断性阻断除AAA.exe之外的其他所有程序联网后不影响AAA.exe正常联网
3.恢复默认【全部允许正常联网】
4.全部禁止联网
0.退出


请输入数字选项[1/2/3/4/0]:

TOP

回复 67# idwma

是的,老师,您把各个功能全部放进去完善一下代码吧

TOP

回复 68# wh1234567


    你自己放啊,你有见过老师帮学生写作业的吗

TOP

回复 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

TOP

回复 69# idwma

有不对的地方请老师修正一下吧

TOP

返回列表