windows通过命令行设置防火墙来禁止指定程序联网

2024-08-02 08:29:19 浏览数 (2)

windows上有时候需要临时禁止某个程序访问网络,我们可以借助系统的防火墙实现,下面记录一下命令行里面怎么去使用,这样方便代码里去调用。

1.添加禁止联网的规则

代码语言:javascript复制
netsh advfirewall firewall add rule name="mytest_app" program="C:myapp.exe" dir=out action=block

这里面netsh advfirewall firewall 表示是对防火墙规则操作;

add rule表示添加规则;

name表示规则的名字,规则名字可以重复但是尽量不要重复,因为后续修改和删除规则都依赖于规则名字;

program表示程序的绝对路径;

dir表示控制的方向,其中out表示出站(向外发送),in则表示入站(自己接收);

action表示规则的动作,其中block表示禁止,allow表示允许,bypass表示绕过防火墙;(allow仍然需要经过防火墙,受到防火墙的其他安全检查,bypass表示完全绕过防火墙)

2.修改联网规则为允许

代码语言:javascript复制
netsh advfirewall firewall set rule name="mytest_app" new action=allow

将所有名字为mytest_app的规则,都修改为允许。

3.删除联网规则

代码语言:javascript复制
netsh advfirewall firewall delete rule name="mytest_app"

删除所有的名字为mytest_app的规则。如果上面设置了block,那么直接删除规则,也可以清理掉block的效果。

更多详细规则设置和帮助

如果想了解更多的规则,比如指定端口,指定地址,指定协议,将规则应用于服务等等,可以自行到命令行查看,命令行给出了示例以及说明。具体查看命令如下:

代码语言:javascript复制
//查看添加规则的帮助
netsh advfirewall firewall add rule ?

//查看删除规则的帮助
netsh advfirewall firewall delete rule ?

//查看修改规则的帮助
netsh advfirewall firewall set rule ?

//查看指定规则的防火墙设置
netsh advfirewall firewall show rule name="mytest_app"
netsh advfirewall firewall show rule ?

//
另外还有个netsh advfirewall firewall dump,没搞明白怎么用,没看到效果。

0 人点赞