[Win基础]-7-Windows下命令行修改防火墙策略
引言
这篇文章来看一下如何通过命令行控制Windows自带的防火墙,有时候我们为了不引起监控软件的注意,需要尽可能少的去做防火墙开关等操作,那么在拥有权限的前提下,往防火墙中添加策略就是一种比较好的选择。
文章目录
0×1.视频中用到的防火墙命令解析
Windows防火墙从WindowsXP时代就已经默认存在windows系统中,Windows Defender防火墙有助于防止黑客和恶意软件通过 Internet 或网络访问你的电脑。在个人用的版本中(WinXP-Win11-WinN),默认在执行一个需要访问网络的程序时,系统防火墙会自动询问是否放行程序,如果选择放行,那么就会将程序添加到防火墙入站策略中,并且允许程序所有端口的访问,在服务器版的Windows中(Win2000-Win2022-WinNNNN),则需要手动去添加入站和出站规则,否则默认是禁止访问。
视频中用到的命令:
# CMD控制防火墙命令
# 1.添加端口入站允许规则
//添加规则,固定前缀:netsh advfirewall firewall add rule
//name="规则名称"
//dir=方向 , dir=in|out
//协议 protocol=icmpv4|icmpv6|tcp|udp|any (default=any)
//允许访问的本地端口 localport=0-65535 (default=any)
//是否允许访问 action=allow|block|bypass
//作用域 profile=public|private|domain|any
//规则是否启用 enable=yes|no (default=yes)
//终上所述,这条命令就是创建一个名称为"1234",协议为TCP,端口为1234,允许在所有区域都能访问的策略,并且策略是启用状态
C:\Windows\System32> netsh advfirewall firewall add rule name="1234" dir=in protocol=TCP localport=1234 action=allow profile=any enable=yes
# 2.添加只允许某个IP或者IP段的入站规则
//默认不携带,就是所有段都能访问 remoteip=any (default)
//IP段支持下面三种写法:
//remoteip=192.168.80.233
//remoteip=192.168.80.0/24
//remoteip=192.168.80.1-192.168.80.255
//本地段同样如此:
//localip=any (default)
//localip=192.168.80.123
//localip=192.168.80.0/24
//localip=192.168.80.1-192.168.80.255
C:\Windows\System32> netsh advfirewall firewall add rule name="1234" dir=in protocol=TCP localport=1234 remoteip=192.168.80.233 action=allow profile=any enable=yes
# 3.禁止nc程序的出站规则
//其中program=后面是需要禁止的程序的绝对路径
C:\Windows\System32> netsh advfirewall firewall add rule name="NC禁止联网-出站" dir=out action=block profile=any program="C:\Users\Administrator\Desktop\nc.exe" enable=yes
#规则总结:
#当规则发生冲突时的规则优先级:禁止>允许 --> 精确>不精确
# 4.查看某个规则名称下配置的详细的规则参数
//用于查询的防火墙命令固定前缀:netsh advfirewall firewall show rule
C:\Windows\System32> netsh advfirewall firewall show rule name="远程桌面 - 用户模式(UDP-In)"
# 5.用set更新防火墙策略
//用于更新防火墙策略的命令固定前缀:netsh advfirewall firewall set rule name="策略名称" new
//将更新名称为1234的策略的端口、远程地址,并且将访问策略设置成阻止,也就是禁止访问
C:\Windows\System32> netsh advfirewall firewall set rule name="1234" new localport=2333 remoteip=192.168.0.2 action=block
# 6.用delete删除防火墙策略
//防火墙删除命令固定前缀:netsh advfirewall firewall delete rule
//删除名字任意,但协议为tcp并且本地端口是1234的策略
C:\Windows\System32> netsh advfirewall firewall delete rule name=all protocol=tcp localport=1234
//删除名称都为 "1234" 的规则:
C:\Windows\System32> netsh advfirewall firewall delete rule name="1234"
# 7.管理员权限,开关防火墙:
//使用powershell命令开启防火墙
PS C:\Windows\System32> Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
//使用powershell命令关闭防火墙
PS C:\Windows\System32> Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
//使用cmd命令,开启防火墙
C:\Windows\System32> netsh advfirewall set allprofiles state on
//使用cmd命令,关闭防火墙
C:\Windows\System32> netsh advfirewall set allprofiles state off
0×2.Windows下命令行修改防火墙策略视频演示
点击下方视频标题,可以进入B站观看高清版本
【第11天】Windows基础-11-Windows下用命令行添加修改防火墙出站入站策略~开始炫~大一女新生挑战一年精通网络安全-信息安全-计算机安全-计算机技术-黑客技术-渗透测试,我无所畏惧
视频中用到的「nc」来自UC网盘分享:
*「nc工具-windows版64位」:点击打开 密码:wSZU
第一篇文章中演示的虚拟机的下载可以通过我这个uc网盘去下载,里面包含了很多现成的系统镜像,还有虚拟机的激活码,也可以去官方下载,千万别去其他地方下精简版,很多问题都出在这里。网盘包含了最新的Windows+激活软件,流行的Linux镜像,会持续更新。
*「虚拟机全套软件+ISO镜像文件」(会一直持续更新):点击打开 密码:8s6H