共用方式為


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_ACCEPTAUTH_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 捨棄層表示。

應用層強制執行 (ALE)

ALE 具狀態篩選

ALE 多播/廣播流量

ALE 重新授權

ALE 流程自定義

TCP 封包流程

UDP 封包流程

Winsock 函式

篩選條件旗標

每個篩選層可用的篩選條件