Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die folgenden Arten von Markierungen können mit WFP verwendet werden:
Inline-Inspektionskennzeichnung
Diese Art von Callout gibt immer FWP_ACTION_CONTINUE aus der classifyFn-Funktion zurück und ändert den Netzwerkdatenverkehr in keiner Weise. Ein Callout, das Netzwerkstatistiken sammelt, ist ein Beispiel für diese Art von Callout.
Für diesen Aufruftyp sollte der Filteraktionstyp (der durch das Mitglied "Typ " der Struktur FWPS_ACTION0 angegeben wird) auf FWP_ACTION_CALLOUT_INSPECTION festgelegt werden.
Out-of-Band-Inspektionshinweis
Diese Art von Callout verändert den Netzwerkdatenverkehr nicht. Stattdessen wird jede Überprüfung, die außerhalb der classifyFn-Funktion durchgeführt werden soll, verschoben, indem die markierten Daten zurückgestellt werden und dann die zurückgestellten Daten mit einer der Paketeinspeisefunktionen wieder in den TCP/IP-Stack eingespielt werden. Pending wird implementiert, indem zuerst die angegebenen Daten geklont werden, gefolgt von der Rückgabe von FWP_ACTION_BLOCK aus der classifyFn-Funktion, die das FWPS_CLASSIFY_OUT_FLAG_ABSORB-Bit gesetzt hat.
Inline-Änderungen-Hinweisfenster
Diese Art von Aufruf ändert den Netzwerkdatenverkehr, indem zuerst ein Klon der angegebenen Daten erstellt wird, dann der Klon modifiziert und schließlich der modifizierte Klon aus der classifyFn Funktion wieder in den TCP/IP-Stack eingefügt wird. Diese Art von Aufruf gibt auch FWP_ACTION_BLOCK aus der classifyFn-Funktion zurück, die das FWPS_CLASSIFY_OUT_FLAG_ABSORB Bit gesetzt hat.
Der Filteraktionstyp für diesen Callout-Typ sollte auf FWP_ACTION_CALLOUT_TERMINATING festgelegt werden.
Out-of-Band-Änderungshinweis
Dieser Legendentyp verweist zuerst auf das angegebene Paket mithilfe der FwpsReferenceNetBufferList0-Funktion , die den intentToModify-Parameter auf TRUE festgelegt hat. Der Callback gibt dann FWP_ACTION_BLOCK zurück, wobei das FWPS_CLASSIFY_OUT_FLAG_ABSORB-Bit in der classifyFn-Funktion gesetzt wurde. Wenn das Paket bereit ist, außerhalb von classifyFn modifiziert zu werden, klont der Callout das referenzierte Paket (sobald es geklont ist, kann das ursprüngliche Paket dereferenziert werden). Der Ausruf modifiziert dann den Klon und injiziert das modifizierte Paket wieder in den TCP/IP-Stapel.
Der Filteraktionstyp für diesen Legendentyp sollte auf FWP_ACTION_CALLOUT_TERMINATING festgelegt werden.
Umleitungs-Hinweis
Weitere Informationen zu diesem Legendentyp finden Sie unter Verwendung von Bind- oder Verbindungsumleitung.
Es gibt zwei Arten von Umleitungs-Ausrufen:
- Eine Bindungsumleitungs-Callout ermöglicht es dem Callout-Treiber, die lokale Adresse und den lokalen Port eines Sockets zu ändern.
- Eine Legende zur Verbindungsumleitung ermöglicht es dem Popuptreiber, die Remoteadresse und den Remoteport einer Verbindung zu ändern.
Der Filteraktionstyp für diesen Bemerkungstyp sollte auf FWP_ACTION_PERMIT festgelegt werden.
Weitere Informationen zu FWPS_CLASSIFY_OUT_FLAG_ABSORB finden Sie unter FWPS_CLASSIFY_OUT0. Dieses Kennzeichen ist auf einer WFP-Verwerfensebene ungültig. Die Rückgabe von FWP_ACTION_BLOCK mit dem Flag FWPS_CLASSIFY_OUT_FLAG_ABSORB aus der classifyFn Funktion verursacht, dass das Paket stillschweigend verworfen wird, wodurch das Paket keine der WFP-Verwerfensebenen erreicht und keine Überwachungsereignisse ausgelöst werden.
Obwohl geklonte Netpufferlisten geändert werden können, z. B. durch Hinzufügen oder Entfernen von Netpuffern oder MDLs oder beides, müssen Callouts solche Änderungen rückgängig machen, bevor sie die FwpsFreeCloneNetBufferList0 Funktion aufrufen.
Um mit anderen Callouts zu koexistieren, die Paketinspektion, Paketmodifikation oder Verbindungsumlenkung durchführen, muss ein Callout das ursprüngliche Paket vollständig ablegen, indem das FWPS_RIGHT_ACTION_WRITE-Flag im rights-Mitglied der FWPS_CLASSIFY_OUT0-Struktur gelöscht wird, die von der classifyFn-Funktion zurückgegeben wird, bevor ein Paket mit dem Referenz-/Clone-Drop-Reinject-Mechanismus bearbeitet wird. Wenn das FWPS_RIGHT_ACTION_WRITE Flag bei dem Aufruf von classifyFn gesetzt ist (d. h., dass das Paket zurückgestellt und später erneut injiziert oder geändert werden könnte), darf der Callout die Angabe nicht aussetzen und sollte den aktuellen Aktionstyp nicht ändern; und es muss auf einen höher priorisierten Callout warten, um den Klon einzufügen, der geändert werden kann.
Das Flag FWPS_RIGHT_ACTION_WRITE sollte immer dann festgelegt werden, wenn ein Callout eine Klassifizierung vornimmt. Ihr Callout-Treiber sollte die FWPS_RIGHT_ACTION_WRITE Kennzeichnung testen, um die Berechtigung für Ihr Callout zu prüfen, eine Aktion zurückzugeben. Wenn dieses Kennzeichen nicht festgelegt ist, kann Ihr Callout weiterhin eine FWP_ACTION_BLOCK-Aktion zurückgeben, um eine FWP_ACTION_PERMIT-Aktion zu verhindern, die von einem vorherigen Callout zurückgegeben wurde. In dem Beispiel, das unter "Verwenden einer Legende für Deep Inspection" gezeigt wird, wird die Funktion einfach beendet, wenn das Kennzeichen nicht festgelegt ist.
Die FwpsPendOperation0-Funktion wird für zurückgestellte Pakete verwendet, die von den FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_XXX-, FWPM_LAYER_ALE_AUTH_LISTEN_XXX- oder FWPM_LAYER_ALE_AUTH_CONNECT_XXX-Verwaltungsfilterungsebenen stammen.
Die FwpsPendClassify0-Funktion wird verwendet, um Pakete aufzuschieben, die aus den folgenden Laufzeitfilterebenen stammen:
FWPS_LAYER_ALE_ENDPOINT_CLOSURE_V4 FWPS_LAYER_ALE_ENDPOINT_CLOSURE_V6 FWPS_LAYER_ALE_CONNECT_REDIRECT_V4 FWPS_LAYER_ALE_CONNECT_REDIRECT_V6 FWPS_LAYER_ALE_BIND_REDIRECT_V4 FWPS_LAYER_ALE_BIND_REDIRECT_V6