轻聆月下
轻聆月下
发布于 2024-03-24 / 87 阅读
0
0

Windows命令行操作防火墙

可以通过 netsh advfirewall firewall 命令操作Windows防火墙。

一、命令概览

可以通过 netsh advfirewall firewall 实现如下操作

参数说明
add添加新入站或出站防火墙规则。
delete删除所有匹配的防火墙规则。
dump显示一个配置脚本。
help显示命令列表。
set为现有规则的属性设置新值。
show显示指定的防火墙规则。

二、命令参数

2.1 添加防火墙规则

添加防火墙规则,应使用 netsh advfirewall firewall add rule

参数表:

参数默认值说明取值
name [必填]规则名称,不能重复的那种
dir [必填]入站规则/ 出站规则in/ out
action [必填]允许/ 阻止/ 绕过allow/ block/ bypass
program程序路径
service服务的短名称,或者可以填all
description规则描述
enableyes规则是否启用,默认启用yes/ no
profile可以多选,以英文半角逗号分隔public/ private/ domain/ any
localip本地IP地址,接受IPv4、IPv6、子网、网段、逗号分隔的IP列表any/ [IPv4 address]/ [IPv6 address]/ [subnet]/ [range]/ [list]
remoteip远程IP地址any/ localsubnet/ dns/ dhcp/ wins/ defaultgateway/ [IPv4 address]/ [IPv6 address]/ [subnet]/ [range]/ [list]
localportany支持减号表示的端口段,以及逗号分隔的端口列表,或者any。默认any0-65535/ [,...]/ any
remoteportany支持减号表示的端口段,以及逗号分隔的端口列表,或者any。默认any0-65535/ [,...]/ any
protocolany支持填写数字或者协议。默认any0-255/ icmpv4/ icmpv6/ icmpv4:type,code/ icmpv6:type,code/ tcp/ udp/ any
interfacetypewireless/ lan/ ras/ any
securitynotrequiredauthenticate/ authenc/ authdynenc/ authnoencap/ notrequired
rmtcomputergrp
rmtusrgrp
edgenoyes/ deferapp/ deferuser/ no
  • 将新的入站或出站规则添加到防火墙策略。
  • 规则名称应该是唯一的,且不能为 "all"。
  • 如果已指定远程计算机或用户组,则 security 必须为authenticate、authenc、authdynenc 或 authnoencap。
  • 为 authdynenc 设置安全性可允许系统动态协商为匹配给定 Windows Defender 防火墙规则的通信使用加密。根据现有连接安全规则属性协商加密。选择此选项后,只要入站 IPsec 连接已设置安全保护,但未使用 IPsec 进行加密,计算机就能够接收该入站连接的第一个 TCP 或UDP 包。一旦处理了第一个数据包,服务器将重新协商连接并对其进行升级,以便所有后续通信都完全加密。
  • 如果 action=bypass,则 dir=in 时必须指定远程计算机组。
  • 如果 service=any,则规则仅应用到服务。
  • ICMP 类型或代码可以为 "any"。
  • Edge 只能为入站规则指定。
  • AuthEnc 和 authnoencap 不能同时使用。
  • Authdynenc 仅当 dir=in 时有效。
  • 设置 authnoencap 后,security=authenticate 选项就变成可选参数。

2.2 删除防火墙规则

添加防火墙规则,应使用 netsh advfirewall firewall delete rule

参数表:

参数说明取值
name[必填]要删除的规则名称
dir入站规则/ 出站规则in/ out
program程序路径
service服务的短名称,或者可以填all
profile可以多选,以英文半角逗号分隔public/ private/ domain/ any
localip本地IP地址,接受IPv4、IPv6、子网、网段、逗号分隔的IP列表any/ [IPv4 address]/ [IPv6 address]/ [subnet]/ [range]/ [list]
remoteip远程IP地址any/ localsubnet/ dns/ dhcp/ wins/ defaultgateway/ [IPv4 address]/ [IPv6 address]/ [subnet]/ [range]/ [list]
localport支持减号表示的端口段,以及逗号分隔的端口列表,或者any。默认any0-65535/ [,...]/ any
remoteport支持减号表示的端口段,以及逗号分隔的端口列表,或者any。默认any0-65535/ [,...]/ any
protocol支持填写数字或者协议。默认any0-255/ icmpv4/ icmpv6/ icmpv4:type,code/ icmpv6:type,code/ tcp/ udp/ any
  • 删除按名称识别的规则,也可按终结点、端口、协议和类型识别规则
  • 如果找到多个匹配项,则删除所有匹配规则。
  • 如果指定 name=all,则从指定的类型和配置文件中删除所有规则。

三、命令使用

阻止445端口上所有TCP连接

netsh advfirewall firewall add rule name="block 445" protocol=TCP dir=in localport=445 action=block

移除上述规则

netsh advfirewall firewall delete rule name="block 445" protocol=TCP dir=in localport=445

评论