@websec007
2023-02-19T16:38:17.000000Z
字数 1766
阅读 936
防火墙
netsh 是 Windows下命令行管理工具之一,主要面向网络层面的命令行管理,可以理解为 net shell,即网络层面的shell接口;通过netsh我们可以实现对windows的网络层进行命令行基本的管理控制;Windows防火墙同样可以通过netsh实现命令行基本的管控。
通过 "netsh ?"帮助,我们可以看到Windows操作系统下有2个防火墙对象,1个是高级防护墙(advfiewall,defender防火墙),1个简单防火墙(firewall)。
> netsh ? //通过netsh 帮助我们可以看到windows下有2个防火墙advfirewallfirewall
# 进入 advfirewall 高级防火墙netsh advfirewall //这里的高级防火墙,即defender 防火墙
# 进入 firewall 简单防火墙netsh firewall // 简单防火墙
netsh advfirewall set allprofiles state onnetsh adv set all state off
// 设置防火墙全局进出规则netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutboundnetsh advfirewall set allprofiles settings inboundusernotification enablenetsh advfirewall set allprofiles settings unicastresponsetomulticast enablenetsh advfirewall set allprofiles logging filename %SystemRoot%\System32\LogFiles\Firewall\pfirewall.log
# 为 telnet 添加入规则netsh advfirewall firewall add rule name="Allow Inbound Telnet" dir=in program= %SystemRoot%\System32\tlntsvr.exe remoteip=localsubnet action=allow# 为 web 添加入规则:netsh advfirewall firewall add rule name="web_inbound_allow" protocol=TCP dir=in localport=80 action=allow
netsh advfirewall firewall delete rule name="web_inbound_allow"
netshe advfirewall firelwall set rule name="web_inbound_all" new remoteip="1.1.1.1"
# 导出防火墙所有配置到指定位置;netsh advfirewall export C:\firewall.conf
# 删除防火墙当前所有配置,指定rule=all即可实现netsh advfirewall firewall delete rule name=all
# 导入防火墙配置文件到系统netsh advfirewall import C:\firewall.conf