我使用命令“netsh WFP Show State”将所有活动的 Windows 过滤器列表转储到磁盘 (wfpstate.xml),并找到了一个名为“端口扫描预防过滤器”的过滤器。出于诊断目的,我需要测试禁用此特定过滤器,但我无法在 Windows 防火墙 (Windows 7 Ultimate x64 Sp1) 的 UI 中找到它。以下是相关过滤器的完整 XML 表示。
如何禁用此特定过滤器?如何重新启用此过滤器?
<item>
<filterKey>{c06945c4-54f1-4b79-9523-71ad3ba2e3be}</filterKey>
<displayData>
<name>Port Scanning Prevention Filter</name>
<description>This filter prevents port scanning.</description>
</displayData>
<flags/>
<providerKey>{decc16ca-3f33-4346-be1e-8fb4ae0f3d62}</providerKey>
<providerData>
<data>ffffffffffffffff</data>
<asString>........</asString>
</providerData>
<layerKey>FWPM_LAYER_INBOUND_TRANSPORT_V4_DISCARD</layerKey>
<subLayerKey>{b3cdd441-af90-41ba-a745-7c6008ff2301}</subLayerKey>
<weight>
<type>FWP_UINT8</type>
<uint8>12</uint8>
</weight>
<filterCondition numItems="1">
<item>
<fieldKey>FWPM_CONDITION_FLAGS</fieldKey>
<matchType>FWP_MATCH_FLAGS_NONE_SET</matchType>
<conditionValue>
<type>FWP_UINT32</type>
<uint32>1</uint32>
</conditionValue>
</item>
</filterCondition>
<action>
<type>FWP_ACTION_CALLOUT_TERMINATING</type>
<calloutKey>FWPM_CALLOUT_WFP_TRANSPORT_LAYER_V4_SILENT_DROP</calloutKey>
</action>
<rawContext>0</rawContext>
<reserved/>
<filterId>230591</filterId>
<effectiveWeight>
<type>FWP_UINT64</type>
<uint64>13835058055315718144</uint64>
</effectiveWeight>
</item>
答案1
好的,所以您无法关闭该特定规则;它是系统默认设置!
看一眼这篇 TechNet 文章关于 Windows 扫描预防过滤器。
任何已被防火墙明确打开但没有应用程序监听的端口仍将默认丢弃其数据包。这有助于强化 Windows 安装。
要查看哪些端口具有活动侦听器,请在管理命令提示符中输入以下命令:
netstat -ab
如果您尝试打开的目标端口没有活动侦听器,那么您将看到数据包被悄悄丢弃(即未添加到防火墙日志中)。您可能已经注意到,丢弃的数据包仍将显示在 Netsh 诊断日志中。请参阅这篇 Technet 文章有关 Netsh 诊断日志的更多信息。
因此,请查看您的应用程序是否正在监听适当的端口或是否正常运行!