windows@网络防火墙@软件联网控制@netsh advfirewall firewall

ref

打开防火墙控制面板

常用部分

限制某个软件联网

  • 主要是限制指定软件发送请求(出站请求(outbound Request))来实现组织软件主动联网
    • 所谓的(就是主机host,一般可以理解为计算机)

利用命令行操作

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.mscGUI程序修改其中的一条规则为新的名字
  • 列举并查看所有已存在的防火墙规则配置

    • 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操作

文档参考

具体操作

  • 在这里插入图片描述

  • 在这里插入图片描述

  • 在这里插入图片描述

  • 注意,最后一步的名字最好取的清楚一点(只要自己能够认出这个规则是干什么的就行)

    • 这样便于找到创建的规则进行修改/删除
    • 为了便于称呼,把刚才创建的名字记为RE(上例中RE=blockSublimeText)

取消控制@取消禁用@重新启用👺

  • 如果需要恢复被禁止联网的软件,可以回到防火墙出站设置界面,找到RE,右键规则,进行禁用/启用规则

FAQ

联网控制不生效

第三方软件控制

  • 例如第三方杀毒软件或者管家,卫士,提供的联网控制功能,甚至可以控制分配给每个软件的带宽
  • 但是可能引入额外的开销,所以如果追求简单轻量,使用自带的防火墙来控制基本的软件联网是不错的选择
posted @   xuchaoxin1375  阅读(17)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示