windows上有时候需要临时禁止某个程序访问网络,我们可以借助系统的防火墙实现,下面记录一下命令行里面怎么去使用,这样方便代码里去调用。
1.添加禁止联网的规则
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.修改联网规则为允许
netsh advfirewall firewall set rule name="mytest_app" new action=allow
将所有名字为mytest_app的规则,都修改为允许。
3.删除联网规则
netsh advfirewall firewall delete rule name="mytest_app"
删除所有的名字为mytest_app的规则。如果上面设置了block,那么直接删除规则,也可以清理掉block的效果。
更多详细规则设置和帮助
如果想了解更多的规则,比如指定端口,指定地址,指定协议,将规则应用于服务等等,可以自行到命令行查看,命令行给出了示例以及说明。具体查看命令如下:
//查看添加规则的帮助
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,没搞明白怎么用,没看到效果。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有