調查封包卸除事件時,您可以使用 Windows 篩選平臺 (WFP) 稽核5157或 5152的欄位Filter Run-Time ID。
篩選 標識 碼可唯一識別造成封包卸除的篩選條件。 您可以在 WFP 狀態傾印輸出中搜尋篩選標識碼,以追蹤回篩選源自的防火牆規則。 不過,篩選標識碼不是追蹤回篩選條件或規則的可靠來源,因為儘管規則完全不會變更,篩選標識元仍可能因為許多原因而變更。 標識符的變更會使診斷程式容易出錯且困難。
若要正確且有效率地偵錯封包卸除事件,您需要更多有關封鎖篩選的內容,例如其來源。 封鎖篩選條件可以分類為下列篩選原點:
- 防火牆規則
- 防火牆預設區塊篩選
- AppContainer 回送
- 開機時間預設值
- 隔離預設值
- 查詢用戶預設值
- 隱身
- 通用 Windows 平台 (UWP 預設值)
- Windows 服務強化 (WSH) 預設值
下一節說明在 2022 年 Windows 11 和 Windows Server 中對稽51575152核所做的改善,以及篩選來源在這些事件中的使用方式。
改善的防火牆稽核
從 Windows 11 和 Windows Server 2022 開始,新增至稽5157核和5152事件的兩個新欄位為 [篩選來源] 和 [介面索引]:
- [ 篩選原點 ] 欄位可協助識別卸除的原因。 Windows 防火牆服務所建立的預設區塊篩選器,或使用者、原則、服務、應用程式等可能建立的防火牆規則,會明確卸除來自防火牆的封包卸除。篩選來源會指定 規則標識 符 (防火牆規則的唯一標識符) 或其中一個預設區塊篩選器的名稱
- [ 介面索引 ] 字段會指定封包卸除所在的網路介面。 如果篩選來源是隔離預設值,此字段可協助識別已隔離的介面
若要啟用特定稽核事件,請在系統管理員命令提示字元中執行對應的命令:
| 審計# | 啟用命令 | Link |
|---|---|---|
| 5157 | Auditpol /set /category:"System" /SubCategory:"Filtering Platform Connection" /success:enable /failure:enable |
5157 (F) :Windows 篩選平臺已封鎖連線。 |
| 5152 | Auditpol /set /category:"System" /SubCategory:"Filtering Platform Packet Drop" /success:enable /failure:enable |
5152 (F) :Windows 篩選平臺已封鎖封包。 |
使用篩選來源偵錯封包卸除的範例流程
當稽核介面顯示 篩選來源 和 介面索引時,網路管理員可以判斷網路封包卸除的根本原因,以及它所發生的介面。
下一節會除以 篩選原點 類型,此值為規則名稱或其中一個預設區塊篩選的名稱。 如果篩選來源是其中一個預設區塊篩選,請跳至 [防火牆默認區塊篩選] 區段。
防火牆規則
執行下列 PowerShell 命令,以使用 Filter Origin產生規則資訊。
Get-NetFirewallRule -Name "<Filter Origin>"
Get-NetFirewallRule -Name " {A549B7CF-0542-4B67-93F9-EEBCDD584377} "
識別造成卸除的規則之後,網路管理員可以修改或停用規則,以允許他們想要透過其中一個可用 工具的流量。 網路管理員可以在 UI 中使用規則的 DisplayName 來尋找規則。
注意
無法使用 Windows 防火牆 UI 搜尋來自行動裝置 裝置管理 (MDM) 存放區的防火牆規則。 此外,當 篩選原點 是其中一個預設區塊篩選器時,上述方法無法運作,因為它們未對應至任何防火牆規則。
防火牆預設區塊篩選
AppContainer 回送
當 通用 Windows 平台 (UWP) 應用程式未正確啟用 localhost 回送時,就會發生來自 AppContainer 回送區塊篩選來源的網路卸除事件:
- 若要在本機偵錯環境中啟用localhost回送,請參閱 與localhost通訊
- 若要針對需要回送存取權才能與另一個 UWP 或已封裝的 Win32 應用程式通訊的已發佈應用程式啟用 localhost 回送,請參閱 uap4:LoopbackAccessRules
開機時間預設值
當計算機開機且防火牆服務尚未執行時,就會發生開機時間預設區塊篩選來源的網路卸除事件。 服務需要建立開機時間允許篩選以允許流量。 請注意,不可能透過防火牆規則新增開機時間篩選。
隔離預設值
當防火牆服務暫時隔離介面時,就會發生從隔離預設 區塊篩選 卸除的網路。 防火牆服務會在偵測到網路上的變更時隔離介面,而防火牆服務可能會將介面置於隔離區以作為保護措施。 隔離介面時,隔離預設 區塊篩選會 封鎖任何新的非回送輸入連線。
執行下列 PowerShell 命令以產生介面的詳細資訊:
Get-NetIPInterface -InterfaceIndex <Interface Index>
若要深入瞭解隔離功能,請參閱 隔離行為。
注意
隔離相關的封包卸除通常是暫時性的,只表示介面上的網路變更。
查詢用戶預設值
當未建立明確的規則來允許封包的輸入連線時,就會發生來自查詢用戶預設區塊篩選器的網路封包捨棄。 當應用程式系結至套接字,但沒有對應的輸入規則允許該埠上的封包時,Windows 會產生彈出視窗,讓使用者允許或拒絕應用程式接收可用網路類別的封包。 如果使用者選取拒絕彈出視窗中的連線,則會卸除應用程式的後續輸入封包。 若要解決卸除問題:
- 建立輸入防火牆規則,以允許此應用程式的封包。 此規則允許封包略過任何查詢用戶預設區塊篩選
- 刪除防火牆服務可能已自動產生的任何區塊查詢用戶規則
若要產生所有查詢使用者封鎖規則的清單,您可以執行下列 PowerShell 命令:
Get-NetFirewallRule | Where {$_.Name -like "*Query User*"}
預設會啟用查詢使用者快顯功能。 若要停用查詢使用者快顯,您可以在系統管理命令提示字元中執行下列命令:
Netsh set allprofiles inboundusernotification disable
或在 PowerShell 中:
Set-NetFirewallProfile -NotifyOnListen False
隱身
通常會從隱形篩選器卸除網路,以防止埠掃描。
若要停用隱形模式,請參閱 停用 Windows 中的隱形模式。
UWP 預設值
從 通用 Windows 平台 (UWP 卸除) 預設輸入/輸出區塊篩選通常是因為 UWP 應用程式未正確設定 (也就是 UWP 應用程式遺失正確的功能令牌,或未啟用回送) 或私人範圍設定不正確。
如需如何偵錯 UWP 預設區塊篩選所造成之卸除的詳細資訊,請參閱 針對 UWP 應用程式連線問題進行疑難解答。
WSH 預設值
從 Windows 服務強化中卸除網路 (WSH) 預設篩選條件表示沒有明確的 Windows 服務強化允許規則允許受保護服務的網路流量。 如果未預期區塊,服務擁有者必須設定服務的 允許規則 。