Windows通过netsh控制安全中心防火墙和网络保护策略
Windows通过netsh控制安全中心防火墙和网络保护策略
1. 工具简介
【1】. Windows安全中心
【2】. netsh工具
netsh
(Network Shell
) 是一个Windows
系统本身提供的功能强大的网络配置命令行工具。
2. 开启/关闭防火墙策略
在设置端口(禁用/启用)前,先设置防火墙策略。
备注: 所有命令均以管理员权限运行!!!
【1】. 开启防火墙策略
netsh advfirewall set allprofile state on
效果如下:
C:\Users\Administrator>
C:\Users\Administrator>netsh advfirewall set allprofile state on
确定。
【2】. 关闭防火墙策略
netsh advfirewall set allprofile state off
效果如下:
C:\Users\Administrator>
C:\Users\Administrator>netsh advfirewall set allprofile state off
确定。
【3】. 查看防火墙策略状态
netsh advfirewall show allprofile state
效果如下:
# 开启状态
C:\Users\Administrator>
C:\Users\Administrator>netsh advfirewall set allprofile state on
确定。C:\Users\Administrator>
C:\Users\Administrator>netsh advfirewall show allprofile state域配置文件 设置:
----------------------------------------------------------------------
状态 启用专用配置文件 设置:
----------------------------------------------------------------------
状态 启用公用配置文件 设置:
----------------------------------------------------------------------
状态 启用
确定。C:\Users\Administrator># 关闭状态
C:\Users\Administrator>
C:\Users\Administrator>netsh advfirewall set allprofile state off
确定。C:\Users\Administrator>
C:\Users\Administrator>netsh advfirewall show allprofile state域配置文件 设置:
----------------------------------------------------------------------
状态 关闭专用配置文件 设置:
----------------------------------------------------------------------
状态 关闭公用配置文件 设置:
----------------------------------------------------------------------
状态 关闭
确定。C:\Users\Administrator>
3. 端口禁用/启用
在设置端口禁用或启用前,需要设置防火墙策略为开启状态。
【1】. 命令行使用说明
C:\Users\Administrator>
C:\Users\Administrator>netsh advfirewall firewall add rule提供的许多参数无效。请查看帮助获取正确语法。用法: add rule name=<string>dir=in|outaction=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>][remoteip=any|localsubnet|dns|dhcp|wins|defaultgateway|<IPv4 address>|<IPv6 address>|<subnet>|<range>|<list>][localport=0-65535|<port range>[,...]|RPC|RPC-EPMap|IPHTTPS|any (default=any)][remoteport=0-65535|<port range>[,...]|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=<SDDL string>][rmtusrgrp=<SDDL string>][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 rulename="Require Encryption for Inbound TCP/80"protocol=TCP dir=in localport=80 security=authdynencaction=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=<SDDL string> action=bypasssecurity=authenticate为 udp- 的本地端口 5000-5010 添加出站允许规则Add rule name="Allow port range" dir=out protocol=udp localport=5000-5010 action=allowC:\Users\Administrator>
【2】. 禁用TCP-104端口
【A】. 设置策略
netsh advfirewall firewall add rule name="DenyTcp104" dir=in action=block protocol=TCP localport=104
效果如下:
C:\Users\Administrator>netsh advfirewall firewall add rule name="DenyTcp104" dir=in action=block protocol=TCP localport=104
确定。C:\Users\Administrator>
【B】. 查看策略
查看指定策略
netsh advfirewall firewall show rule name="DenyTcp104"
效果如下:
C:\Users\Administrator>
C:\Users\Administrator>netsh advfirewall firewall show rule name="DenyTcp104"规则名称: DenyTcp104
----------------------------------------------------------------------
已启用: 是
方向: 入
配置文件: 域,专用,公用
分组:
本地 IP: 任何
远程 IP: 任何
协议: TCP
本地端口: 104
远程端口: 任何
边缘遍历: 否
操作: 阻止
确定。C:\Users\Administrator>
查看所有策略
netsh advfirewall firewall show rule name=all
效果如下:
C:\Users\Administrator>
C:\Users\Administrator>netsh advfirewall firewall show rule name=all规则名称: DenyTcp104
----------------------------------------------------------------------
已启用: 是
方向: 入
配置文件: 域,专用,公用
分组:
本地 IP: 任何
远程 IP: 任何
协议: TCP
本地端口: 104
远程端口: 任何
边缘遍历: 否
操作: 阻止规则名称: Microsoft Edge (mDNS-In)
----------------------------------------------------------------------
已启用: 是
方向: 入
配置文件: 域,专用,公用
分组: Microsoft Edge
本地 IP: 任何
远程 IP: 任何
协议: UDP
本地端口: 5353
远程端口: 任何
边缘遍历: 否
操作: 允许规则名称: OpenSSH SSH Server (sshd)
----------------------------------------------------------------------
已启用: 是
方向: 入
配置文件: 域,专用,公用
分组: OpenSSH Server
本地 IP: 任何
远程 IP: 任何
协议: TCP
本地端口: 22
远程端口: 任何
边缘遍历: 否
操作: 允许规则名称: Workflow Manager Tools 1.0 for Visual Studio 2012 - Test Service Host
----------------------------------------------------------------------
已启用: 否
方向: 入
配置文件: 域,专用
分组:
本地 IP: 任何
远程 IP: 任何
协议: TCP
本地端口: 12292
远程端口: 任何
边缘遍历: 否
操作: 允许规则名称: Visual Studio 2013 远程调试器发现 (devenv.exe)......
【C】. 删除策略
netsh advfirewall firewall delete rule name="DenyTcp104"
效果如下:
C:\Users\Administrator>
C:\Users\Administrator>netsh advfirewall firewall show rule name="DenyTcp104"规则名称: DenyTcp104
----------------------------------------------------------------------
已启用: 是
方向: 入
配置文件: 域,专用,公用
分组:
本地 IP: 任何
远程 IP: 任何
协议: TCP
本地端口: 104
远程端口: 任何
边缘遍历: 否
操作: 阻止
确定。C:\Users\Administrator>
C:\Users\Administrator>netsh advfirewall firewall delete rule name="DenyTcp104"已删除 1 规则。
确定。C:\Users\Administrator>
C:\Users\Administrator>
C:\Users\Administrator>netsh advfirewall firewall show rule name="DenyTcp104"没有与指定标准相匹配的规则。C:\Users\Administrator>
【3】. 允许TCP-104端口
【A】. 综合演示
效果如下:
C:\Users\Administrator>
C:\Users\Administrator>netsh advfirewall firewall add rule name="AllowTcp104" dir=in action=allow protocol=TCP localport=104
确定。C:\Users\Administrator>
C:\Users\Administrator>
C:\Users\Administrator>netsh advfirewall firewall show rule name="AllowTcp104"规则名称: AllowTcp104
----------------------------------------------------------------------
已启用: 是
方向: 入
配置文件: 域,专用,公用
分组:
本地 IP: 任何
远程 IP: 任何
协议: TCP
本地端口: 104
远程端口: 任何
边缘遍历: 否
操作: 允许
确定。C:\Users\Administrator>
C:\Users\Administrator>
C:\Users\Administrator>netsh advfirewall firewall delete rule name="AllowTcp104"已删除 1 规则。
确定。C:\Users\Administrator>
C:\Users\Administrator>netsh advfirewall firewall show rule name="AllowTcp104"没有与指定标准相匹配的规则。C:\Users\Administrator>
4. ICMP禁用/启用
【1】. 允许/禁止所有ICMP包通过
ICMP
数据包(例如ping
请求)能通过Windows
防火墙:
netsh advfirewall firewall add rule name="Allow ICMPv4-In" protocol=icmpv4:8,any dir=in action=allow
取消上述规则,则执行如下命令:
netsh advfirewall firewall delete rule name="Allow ICMPv4-In"
5. TCP协议端口控制
【1】. 特定端口禁用/启用
开放 TCP 协议10086
端口:
netsh advfirewall firewall add rule name="Allow TCP 10086" dir=in action=allow protocol=TCP localport=10086
关闭 TCP 协议 10086
端口:
netsh advfirewall firewall delete rule name="Allow TCP 10086"
【2】. 全部端口禁用/启用
使用帮助:
# localport端口指定参数:
[localport=0-65535|<port range>[,...]|RPC|RPC-EPMap|IPHTTPS|any (default=any)]
开放 TCP 协议全部
端口:
netsh advfirewall firewall add rule name="Allow TCP All" dir=in action=allow protocol=TCP
关闭 TCP 协议 全部
端口:
netsh advfirewall firewall delete rule name="Allow TCP All"
6. UDP协议端口控制
【1】. 特定端口禁用/启用
开放 UDP 协议5001
端口:
netsh advfirewall firewall add rule name="Allow UDP 5001" dir=in action=allow protocol=UDP localport=5001
关闭 UDP 协议 5001
端口:
netsh advfirewall firewall delete rule name="Allow UDP 5001"
【2】. 全部端口禁用/启用
开放 UDP 协议全部
端口:
netsh advfirewall firewall add rule name="Allow UDP All" dir=in action=allow protocol=UDP
关闭 UDP 协议 全部
端口:
netsh advfirewall firewall delete rule name="Allow UDP All"
相关文章:

Windows通过netsh控制安全中心防火墙和网络保护策略
Windows通过netsh控制安全中心防火墙和网络保护策略 1. 工具简介 【1】. Windows安全中心 【2】. netsh工具 netsh(Network Shell) 是一个Windows系统本身提供的功能强大的网络配置命令行工具。 2. 开启/关闭防火墙策略 在设置端口(禁用/启用)前&am…...

UML(Unified Modeling Language,统一建模语言)
UML(Unified Modeling Language,统一建模语言)是一种标准化的图形化语言,用于软件工程中的可视化建模。UML由Grady Booch、James Rumbaugh和Ivar Jacobson共同开发,他们各自的工作(Booch方法、OMT方法和OOS…...

深⼊理解指针(2)
目录 1. 数组名的理解 2. 使⽤指针访问数组 3. ⼀维数组传参的本质 4. ⼆级指针 5. 指针数组 6. 指针数组模拟⼆维数组 1. 数组名的理解 我们在使⽤指针访问数组的内容时,有这样的代码: int arr[10] {1,2,3,4,5,6,7,8,9,10}; int *p &arr[…...

Ubuntu中MySQL远程登录设置
mysql单独放在一台Ubuntu服务器上,我远程连接不上。可能是安装的时候忘记设置远程登录了。事后补救措施如下: MySQL 绑定地址配置问题 MySQL 可能只绑定了 localhost,无法接受来自外部主机的连接。你需要检查 MySQL 的配置文件 /etc/mysql/…...

typescript 中封装一个 class 来解析接口响应数据
在TypeScript中,封装一个类来解析接口响应数据是一个常见的做法,它允许你将与接口响应相关的逻辑封装在一个可复用的单元中。下面是一个示例,展示了如何定义一个TypeScript类来解析一个假设的API接口响应数据。 首先,我们定义一个…...

[LeetCode] 21. 合并两个有序链表
题目描述: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2: 输入:l1 [], l2 […...

CTFHUB技能树之SQL——MySQL结构
开启靶场,打开链接: 先判断一下是哪种类型的SQL注入: 1 and 11# 正常回显 1 and 12# 回显错误,说明是整数型注入 判断一下字段数: 1 order by 2# 正常回显 1 order by 3# 回显错误,说明字段数是2列 知道…...

Git小知识:合理的分支命名约定
前言:创建新分支时,对 Git 分支进行合理的命名非常重要,应选择有描述性的名称,因为它可以帮助团队成员更好地理解分支的目的和内容,以便将来回顾时能立即明白分支的目的。以下是一些常见的分支命名约定: 功…...

Ubuntu如何显示pcl版本
终端输入: apt-cache show libpcl-dev可以看到,Ubuntu20.04,下载的pcl,应该都是1.10版本的...

wordcloud 字体报错
wordcloud 字体报错 词云库报错:Only supported for TrueType fonts字体文件问题pillow版本的问题wordcloud版本问题(我的最终解决方案) 词云库报错:Only supported for TrueType fonts 字体文件问题 解决方法 写绝对路径 &…...

使用Matplotlib绘制极轴散点图
散点图对于理解数据可视化中变量之间的相互作用至关重要。虽然散点图经常在笛卡尔坐标中创建,但我们也可以使用Matplotlib在极轴上创建散点图。有了这个功能,人们可以以创新的方式查看圆形或角形数据,例如周期性趋势或定向模式。在本文中&…...

Elasticsearch入门:增删改查详解与实用场景
引言 在我之前做社交架构设计的时候,我们有一项关键且必要的需求:需要存储并记录用户的所有聊天记录。这些记录不仅用于业务需求,也承担了风控审查的职责。因此,在架构设计中,我们需要考虑每天海量的聊天消息量&#…...

【AI论文精读6】SELF-RAG(23.10)附录
【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】 P1,P2,P3 附录 A SELF-RAG 细节 A.1 反思标记(reflection tokens) 反思标记的定义 下面我们提供了反思标记类型和输出标记的详细定义。前三个方面将在每个片段…...

sql-labs靶场第十七关测试报告
目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、寻找注入点 2、注入数据库 ①寻找注入方法 ②爆库,查看数据库名称 ③爆表,查看security库的所有表 ④爆列,查看users表的所有列 ⑤成功获取用户名…...

面试官:MySQL一次到底插入多少条数据合适啊?
前言 大家好!在互联网时代,我们的每一个动作,无论是浏览网页、分享动态、点赞、购物或者搜索信息,都会在背后产生数据。这些数据,根据其用途和重要性,可能会被储存到不同的地方,其中最常见的存…...

WSL2 构建Ubuntu系统-轻量级AI运行环境
环境:Win11 软件:WSL2 安装环境:Ubuntu 22.04 检查电脑是否开启虚拟化 打开:任务管理器->性能->CPU CPU 开启虚拟化(通常默认是开启的,如果没有开启需要BIOS开启) 虚拟化设置࿰…...

什么是凸二次规划问题
我们从凸二次规划的基本概念出发,然后解释它与支持向量机的关系。 一、凸二次规划问题的详细介绍 凸二次规划问题是优化问题的一类,目标是最小化一个凸的二次函数,受一组线性约束的限制。凸二次规划是一类特殊的二次规划问题,其…...

解决 Elasticsearch cluster_block_exception 错误的终极指南
Elasticsearch 是一个功能强大的分布式搜索引擎,广泛应用于全文检索、实时分析等场景。 尽管如此,像任何复杂系统一样,它也会遇到一些运行问题,其中较为常见且影响较大的就是 cluster_block_exception 错误。 本文将深入解析这种错…...

QT sql驱动错误QMYSQL driver not loaded
引用文章QMYSQL driver not loaded 根据引用文章,到在编译QT mysql.pro的源码步骤时,构建没有报错,但是在对应的文件夹内没有找到编译好的dll文件,经过全电脑搜寻,找到在此文件夹内。 遇到同样错误的朋友可以找找QT安…...

数据驱动,漫途能耗管理系统打造高效节能新生态!
在我国能源消耗结构中,工业企业所占能耗比例相对较大。为实现碳达峰、碳中和目标,工厂需强化能效管理,减少能耗与成本。高效的能耗管理系统通过数据采集与分析,能实时监控工厂能源使用及报警情况,为节能提供数据。构建…...

PH47代码框架软件二次开发极简教程
1. 教程说明 本教程适用于对飞控及Stm32程序设计比较熟悉的二次开发者快速掌握PH47框架的使用要点。本教程仅对PH47框架中最主要的二次开发特性进行简要说明,建议与框架中\DevStudio\Algorithms\Controller_Demo.cpp(.h)示例代码配合学习。关于二次开发特性中的详细…...

SQL Server-导入和导出excel数据-注意事项
环境: win10,SQL Server 2008 R2 之前写过的放在这里: SqlServer_陆沙的博客-CSDN博客 https://blog.csdn.net/pxy7896/category_12704205.html 最近重启ASP.NET项目,在使用sql server导出和导入数据时遇到一些问题,特…...

Linux系统:配置Apache支持CGI(Ubuntu)
配置Apache支持CGI 根据以下步骤配置,实现Apache支持CGI 安装Apache: 可参照文章: Ubuntu安装Apache教程。执行以下命令,修改Apache2配置文件000-default.conf: sudo vim /etc/apache2/sites-enabled/000-default.con…...

qt 序列化和反序列化
序列化:QByteArray buffer; QBuffer bufferDevice(&buffer); bufferDevice.open(QIODevice::WriteOnly); QDataStream out(&bufferDevice); out.setVersion(QDataStream::Qt_5_13); 反序列化: void deserialize(const QByteArray &buffer) {…...

java实现文件变动监听
在文件的内容发生变动时,应用可以感知这种变种,并重新加载文件内容,更新应用内部缓存 实现 轮询:定时器Timer,ScheduledExecutorService 判断文件修改:根据java.io.File#lastModified获取文件的上次修改时…...

Maven的使用
1. Maven 简介 https://maven.apache.org/ Maven 是一个强大的项目管理和构建工具,广泛应用于 Java 项目中,旨在简化项目的依赖管理、构建、测试、部署等工作。Maven 主要通过定义 pom.xml(Project Object Model 文件)来管理项…...

C++开发进阶1:C++编程命名规范
进行C开发时最基础且最重要的是命名规范,掌握良好的命名规范能增加代码的可读性。 认识文件: .cpp:C 源文件. .h或.hpp:C 头文件 .tpp模板实现文件(如果模板定义和实现分开) .inl内联文件,…...

Android 图片相识度比较(pHash)
概述 在 Android 中,要比对两张 Bitmap 图片的相似度,常见的方法有基于像素差异、直方图比较、或者使用一些更高级的算法如 SSIM(结构相似性)和感知哈希(pHash)。 1. 基于像素的差异比较 可以逐像素比较…...

Gitlab 完全卸载–亲测可行
1、停止gitlab gitlab-ctl stop2.卸载gitlab(注意这里写的是gitlab-ce) rpm -e gitlab-ce 3、查看gitlab进程 ps aux | grep gitlab 4、杀掉第一个进程(就是带有好多.............的进程) 5、删除所有包含gitlab文件 find / …...

gitlab操作和管理
详细的说明下这几条指令: Git global setup git config --global user.name “” git config --global user.email “” Create a new repository git clone ssh://git12/letect.git cd vlm-event-secondary-detect git switch -c main touch README.md git add RE…...