在 Windows XP 和 Windows Server 2003 上,我可以使用以下命令知道 Windows 防火墙上当前打开的端口:
netsh firewall show state
Run Code Online (Sandbox Code Playgroud)
但是,在 Windows 7 和 Hyper-V Server 2008 R2 上,当我给出该命令时,它说:
当前没有在所有网络接口上打开任何端口。
重要提示:命令已成功执行。
但是,不推荐使用“netsh firewall”;
请改用“netsh advfirewall 防火墙”。
显然有端口打开是因为 NetBIOS NS、远程桌面和 Hyper-V 远程管理等服务正在运行。
我尝试了一些“netsh advfirewall”显示命令,但没有办法找出 Windows 防火墙允许哪些端口。
知道当前打开的端口,我可以确定我允许必要和足够的流量传入,不多也不少。
浏览整套高级防火墙规则既乏味又容易出错。
Windows 7 和 Windows Server 2008 上是否有命令可以有效地执行此操作?