Windows cmd 防火墙配置

Windows cmd 防火墙配置

  • 一、netsh advfirewall /?
  • 二、set /?
    • 1. 打开防火墙
    • 2. 关闭防火墙
  • 三、netsh advfirewall firewall /?
    • 1. 删除 (delete) 所有 "名称" 匹配的出入站规则
    • 2. add rule /? -- 添加规则
      • Ⅰ. 程序
      • Ⅱ. 端口 (localport)
  • 四、本地端口转发

一、netsh advfirewall /?

D:\>netsh advfirewall /?

下列指令有效:

此上下文中的命令:
?              - 显示命令列表。
consec         - 更改到 `netsh advfirewall consec' 上下文。
dump           - 显示一个配置脚本。
export         - 将当前策略导出到文件。
firewall       - 更改到 `netsh advfirewall firewall' 上下文。
help           - 显示命令列表。
import         - 将策略文件导入当前策略存储。
mainmode       - 更改到 `netsh advfirewall mainmode' 上下文。
monitor        - 更改到 `netsh advfirewall monitor' 上下文。
reset          - 将策略重置为默认全新策略。
set            - 设置每个配置文件或全局设置。
show           - 显示配置文件或全局属性。

下列的子上下文可用:
 consec firewall mainmode monitor

若需要命令的更多帮助信息,请键入命令,接着是空格,
后面跟 ?。

二、set /?

D:\>netsh advfirewall set /?

下列指令有效:

此上下文中的命令:
set allprofiles - 在所有配置文件中设置属性。
set currentprofile - 在活动配置文件中设置属性。
set domainprofile - 在域配置文件中设置属性。
set global     - 设置全局属性。
set privateprofile - 在专用配置文件中设置属性。
set publicprofile - 在公用配置文件中设置属性。

1. 打开防火墙

netsh advfirewall set allprofiles state on

2. 关闭防火墙

netsh advfirewall set allprofiles state off

三、netsh advfirewall firewall /?

D:\>netsh advfirewall firewall /?

下列指令有效:

此上下文中的命令:
?              - 显示命令列表。
add            - 添加新入站或出站防火墙规则。
delete         - 删除所有匹配的防火墙规则。
dump           - 显示一个配置脚本。
help           - 显示命令列表。
set            - 为现有规则的属性设置新值。
show           - 显示指定的防火墙规则。

1. 删除 (delete) 所有 “名称” 匹配的出入站规则

netsh advfirewall firewall delete rule name="<名称>"

2. add rule /? – 添加规则

D:\>netsh advfirewall firewall add rule /?

用法: add rule name=
      dir=in|out
      action=allow|block|bypass
      [program=]
      [service=|any]
      [description=]
      [enable=yes|no (default=yes)]
      [profile=public|private|domain|any[,...]]
      [localip=any|||||]
      [remoteip=any|localsubnet|dns|dhcp|wins|defaultgateway|
         ||||]
      [localport=0-65535|[,...]|RPC|RPC-EPMap|IPHTTPS|any (default=any)]
      [remoteport=0-65535|[,...]|any (default=any)]
      [protocol=0-255|icmpv4|icmpv6|icmpv4:type,code|icmpv6:type,code|
         tcp|udp|any (default=any)]
      [interfacetype=wireless|lan|ras|any]
      [rmtcomputergrp=]
      [rmtusrgrp=]
      [edge=yes|deferapp|deferuser|no (default=no)]
      [security=authenticate|authenc|authdynenc|authnoencap|notrequired
         (default=notrequired)]

备注:

      - 将新的入站或出站规则添加到防火墙策略。
      - 规则名称应该是唯一的,且不能为 "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 选项就变成可选参数。

示例:

      为不具有封装的 messenger.exe 添加入站规则:
      netsh advfirewall firewall add rule name="allow messenger"
      dir=in program="c:\programfiles\messenger\msmsgs.exe"
      security=authnoencap action=allow

      为端口 80 添加出站规则:
      netsh advfirewall firewall add rule name="allow80"
      protocol=TCP dir=out localport=80 action=block

      为 TCP 端口 80 通信添加需要安全和加密的入站规则:
      netsh advfirewall firewall add rule
      name="Require Encryption for Inbound TCP/80"
      protocol=TCP dir=in localport=80 security=authdynenc
      action=allow

      为 messenger.exe 添加需要安全的入站规则:
      netsh advfirewall firewall add rule name="allow messenger"
      dir=in program="c:\program files\messenger\msmsgs.exe"
      security=authenticate action=allow

      为 SDDL 字符串标识的组 acmedomain\scanners 添加
     经过身份验证的防火墙跳过规则:
     netsh advfirewall firewall add rule name="allow scanners"
      dir=in rmtcomputergrp= action=bypass
      security=authenticate

      为 udp- 的本地端口 5000-5010 添加出站允许规则
      Add rule name="Allow port range" dir=out protocol=udp localport=5000-5010 action=allow

Ⅰ. 程序

netsh advfirewall firewall add rule name="<名称>" dir= program="<程序路径>" action=

< in | out > : <入站 | 出站>
< allow | block > : <允许 | 禁止>

Ⅱ. 端口 (localport)

netsh advfirewall firewall add rule name="<名称>" dir= protocol= localport=<端口> action=

四、本地端口转发

netsh interface portproxy add listenaddress=[本地地址] listenport=<本地端口> connectaddress=<远程地址> connectport=<远程端口>

解释:将所有发送到 <本地地址:端口> 的请求,转发到 <远程地址:远程端口>,默认转发 TCP 协议。

# 例 —— 将所有发送到本机 80 端口的请求转发到 443 端口:
netsh interface portproxy add v4tov4 listenport=80 connectaddress=127.0.0.1 connectport=443

< v4tov4 > : 必选,可以是 [v4tov4 | v4tov6 | v6tov4 | v6tov6] 源 ip 协议 to 目地 ip 协议
[ listenaddress ] : 可选,被转发的本地 ip 地址,省略则侦听本机的所有 ip 地址
< listenport > : 必选,被转发的本地端口
< connectaddress > : 必选,转发到此 ip 地址
< connectport > : 必选,转发到此端口

D:\>netsh interface portproxy /?

下列指令有效:

此上下文中的命令:
?              - 显示命令列表。
add            - 在一个表格中添加一个配置项。
delete         - 从一个表格中删除一个配置项。
dump           - 显示一个配置脚本。
help           - 显示命令列表。
reset          - 重置端口代理配置状态。
set            - 设置配置信息。
show           - 显示信息。

若需要命令的更多帮助信息,请键入命令,接着是空格,
后面跟 ?。

*** 完 ***

你可能感兴趣的:(Cmd,cmd,windows,安全)