windows@网络防火墙@软件联网控制@netsh advfirewall firewall
文章目录
ref
- (Windows) 创建出站端口规则 | Microsoft Learn
- Windows Defender Firewall with Advanced Security (Windows) | Microsoft Learn
- 组策略 Windows) 高级安全性的 Windows 防火墙 (管理 | Microsoft Learn
打开防火墙控制面板
- windows-itpro-docs/open-windows-firewall-with-advanced-security.md at public · MicrosoftDocs/windows-itpro-docs (github.com)
- 直接在命令行工具中输入
wf.msc
- powershell中允许你只输入
wf
回车启动
- powershell中允许你只输入
常用部分
限制某个软件联网
- 主要是限制指定软件发送请求(出站请求(outbound Request))来实现组织软件主动联网
- 所谓的
站
(就是主机host,一般可以理解为计算机)
- 所谓的
利用命令行操作
powershell
- Where is Powershell NetSecurity module? - Stack Overflow
- 防火墙管理功能的NetSecurity模块似乎只有服务器版本的windows server powershell
- 个人电脑中是没有相应模块的
netsh
- 古老的网络控制命令行windows自带工具
netsh
权限说明
- 执行防火墙配置,需要管理员权限
- 因此,您应当使用管理员方式打开一个终端,以便后续操作可以顺利执行
新增防火墙规则
-
netsh advfirewall firewall add rule ?
-
Usage: add rule name=<string> dir=in|out action=allow|block|bypass [program=<program path>] [service=<service short name>|any] [description=<string>] [enable=yes|no (default=yes)] [profile=public|private|domain|any[,...]] [localip=any|<IPv4 address>|<IPv6 address>|<subnet>|<range>|<list>] ............. -
自行输入上述命令查阅文档
-
例如
-
禁止火狐浏览器联网
-
PS D:\Program Files\Mozilla Firefox> netsh advfirewall firewall add rule dir=out action=block program="D:\Program Files\Mozilla Firefox\firefox.exe" name="blockFirefox" description="createByNetsh" enable=yes Ok. -
netsh advfirewall firewall add rule dir=out action=block program="C:\exes\geek.exe" name="block_geek_uninstaller"
-
防火墙规则命名建议
- 通常,不建议建立两个同名的规则,应为防火墙配置命令是通过规则名字来区分规则,如果同名,可能会造成副作用
查看已有的防火墙规则👺
-
Usage: show rule name=<string> [profile=public|private|domain|any[,...]] [type=static|dynamic] [verbose] Remarks: - Displays all matching rules as specified by name and optionally, profiles and type. If verbose is specified all matching rules are displayed. Examples: Display all dynamic inbound rules: netsh advfirewall firewall show rule name=all dir=in type=dynamic Display all the settings for all inbound rules called "allow browser": netsh advfirewall firewall show rule name="allow browser" verbose -
查看已知的某个具体防火墙规则配置(比如我想查看名为blockfirefox)的防火墙规则
-
netsh advfirewall firewall show rule name=blockfirefox -
Rule Name: blockFirefox ---------------------------------------------------------------------- Enabled: No Direction: Out Profiles: Domain,Private,Public Grouping: LocalIP: Any RemoteIP: Any Protocol: Any Edge traversal: No Action: Block Rule Name: blockFirefox ---------------------------------------------------------------------- Enabled: No Direction: Out Profiles: Domain,Private,Public Grouping: LocalIP: Any RemoteIP: Any Protocol: Any Edge traversal: No Action: Block Ok. - 上面出现了两条规则的详情,是因为我有两条规则重名了
- 通常,如果匹配到多条规则,就应该小心,这种情况下,建议使用
wf.msc
GUI程序修改其中的一条规则为新的名字
-
-
列举并查看所有已存在的防火墙规则配置
-
netsh advfirewall firewall show rule name=all
-
修改已有防火墙规则👺(启用或禁用防火墙规则)
-
例如
-
PS C:\Users\cxxu\Desktop> netsh advfirewall firewall set rule name="blockFirefox" new enable=no Updated 2 rule(s). Ok.
-
删除已有防火墙规则
-
也可以通过移除禁止edge update的规则,基本格式为
netsh advfirewall firewall delete rule name=$RuleName
-
PS>netsh advfirewall firewall delete rule name=$deu Deleted 1 rule(s). Ok.
禁用防火墙规则@恢复联网@重新允许软件联网
- 可以通过禁用防火墙规则或者移除防火墙规则来实现恢复默认配置
利用GUI操作
文档参考
-
更换语言可以在网址中的
zh-cn
和en-us
修改实现互换 -
Create an Outbound Program or Service Rule (Windows) | Microsoft Learn
具体操作
-
-
-
-
注意,最后一步的名字最好取的清楚一点(只要自己能够认出这个规则是干什么的就行)
- 这样便于找到创建的规则进行修改/删除
- 为了便于称呼,把刚才创建的名字记为RE(上例中RE=blockSublimeText)
取消控制@取消禁用@重新启用👺
- 如果需要恢复被禁止联网的软件,可以回到防火墙出站设置界面,找到RE,右键规则,进行禁用/启用规则
FAQ
联网控制不生效
- 例如geek这款卸载工具:Geek Uninstaller - the best FREE uninstaller
- 无法通过上述方式禁用
第三方软件控制
- 例如第三方杀毒软件或者管家,卫士,提供的联网控制功能,甚至可以控制分配给每个软件的带宽
- 但是可能引入额外的开销,所以如果追求简单轻量,使用自带的防火墙来控制基本的软件联网是不错的选择
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了