ALE 層次
應用層強制執行 (ALE) 包含數個篩選層和許多相符的捨棄層。 所有 Windows 篩選平臺 (WFP) 篩選引擎層,包括 ALE,都會在 篩選圖層標識碼中所述。 本主題包含 ALE 一部分篩選層的更詳細描述。
RESOURCE_ASSIGNMENT
FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V{4|6} 層 層的篩選會比對網路系結作業、明確或隱含。
如果此層的篩選符合以授權原始套接字建立,則會設定 FWP_CONDITION_FLAG_IS_RAW_ENDPOINT 旗標。
如果此層的篩選符合授權交集模式接收,則 FWP_CONDITION_ALE_PROMISCUOUS_MODE 字段會設定為SIO_RCVALL。 如需SIO_RCVALL的描述,請參閱 WSAIoctl。
注意
這是唯一可以篩選雜交模式的圖層。
如果在 bind()期間未指定任何埠,也就是埠設定為 0(零),則 TCP/IP 堆棧會從動態埠範圍 (19152–65535) 選取埠。 選取的埠會與 FWP_CONDITION_FLAG_IS_WILDCARD_BIND 旗標一起分類在這個圖層。
如果在 bind() 呼叫中未指定本機位址,本機位址欄位會設定為 FWP_EMPTY。
AUTH_LISTEN
FWPM_LAYER_ALE_AUTH_LISTEN_V{4|6} 層 層的篩選會比對 TCP listen() 呼叫。
AUTH_RECV_ACCEPT
FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} 層 層的篩選會比對 TCP accept() 呼叫、來自唯一遠端位址/埠 Tuple 的第一個 UDP 封包(單播),以及具有唯一 ICMP 類型、程式代碼和標識符的第一個輸入非錯誤 ICMP 訊息(單播)。
注意
不是 TCP 或 ICMP 的通訊協定會被視為 UDP。
原始套接字所接收的 TCP 封包處理方式與 UDP 流量類似。 也就是說,只會篩選第一個 TCP send() 和第一個 TCP recv()。
AUTH_CONNECT
FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} 層 層的篩選會比對 TCP connect() 呼叫、傳送至唯一遠端位址和埠 Tuple 的第一個 UDP 封包,以及具有唯一 ICMP 類型、程式代碼和標識符的第一個輸出非錯誤 ICMP 訊息。
注意
不是 TCP 或 ICMP 的通訊協定會被視為 UDP。
原始套接字所傳送的 TCP 封包處理方式與 UDP 流量類似。 也就是說,只會篩選第一個 TCP send() 和第一個 TCP recv()。
FLOW_ESTABLISHED
在 TCP 三向交握成功完成之後,FWPM_LAYER_ALE_FLOW_ESTABLISHED_V{4|6} 層的篩選會比對。 針對非 TCP 流量,篩選會在符合來自 AUTH_RECV_ACCEPT 或 AUTH_CONNECT 層的篩選之後立即比對。
此圖層的篩選不應傳回 Block 或 Permit。
圖說文字驅動程式會使用此層來追蹤連線狀態,如 Windows Driver Kit 檔中所述。
RESOURCE_RELEASE
FWPM_LAYER_ALE_RESOURCE_RELEASE_V{4|6} 層 層的篩選條件會在透過 RESOURCE_ASSIGNMENT 配置的資源釋出之後進行比對。
ENDPOINT_CLOSURE
當連線的 TCP 流程或 UDP 套接字端點關閉時,FWPM_LAYER_ALE_ENDPOINT_CLOSURE_V{4|6} 層 層的篩選條件相符。
CONNECT_REDIRECT
FWPM_LAYER_ALE_CONNECT_REDIRECT_V{4|6} 層 層的篩選條件可讓您修改遠端位址和埠。 輸出連線將會在該連線持續期間重新導向。
BIND_REDIRECT
FWPM_LAYER_ALE_BIND_REDIRECT_V{4|6} 層 層的篩選條件可讓您修改基礎套接字的本機位址和埠。 本機套接字將會在套接字的存留期重新導向
ALE DISCARD 層次
針對上述每個 ALE 層,篩選引擎包含相符的捨棄層。 ALE 捨棄層會由圖說文字用於記錄用途。 在其中一個 ALE 篩選層捨棄的封包和指示,會向相符的 ALE 捨棄層表示。
相關主題