2012-08-31 15 views
5

Estoy usando la plataforma de filtrado de Windows. Quiero crear un filtro de tráfico, administrador de seguridad, que supervisa paquetes y eventos de red o bloquea URL ... Sé que la mayoría de las funciones del PMA se pueden invocar desde el modo de usuario o el modo kernel. Me pregunto si debo escribir mi filtro usando funciones de kernel-mode o de modo de usuario. ¿Hay algún tipo de acciones de red que solo se puedan capturar mediante el uso de un controlador kernel-mode? Por favor, ayúdame en este sentido.Modo de usuario de la plataforma de filtrado de Windows o modo kernel?

Gracias de antemano por cualquier ayuda al respecto

Respuesta

1

Alexandre es correcto, algunas cosas solo se pueden hacer con los controladores de llamadas de WFP en modo kernel.

Sin embargo, también es posible que desee consultar mi proyecto WinDivert (LGPL) que quita parte de la funcionalidad del modo kernel de WFP (es decir, interceptar y modificar paquetes) en una API de modo de usuario. WinDivert proporciona el controlador de texto destacado para usted.

+0

hey @basil ¡Intenté WinDivert, quiero agradecerle por el excelente trabajo que ha realizado, pero me temo que no es compatible con HTTPS! la aplicación de demostración webfilter no puede bloquear las URL a partir de https. – JohnTube

+0

Respondido aquí: http://stackoverflow.com/questions/23151135/windows-filtering-platform-to-filter-https-from-managed-code – Basil

2

PMA Callouts sólo se puede implementar utilizando controladores en modo kernel. Hasta donde sé, la modificación de paquetes (NAT, reenvío de puertos, etc.) solo se puede hacer usando llamadas en los controladores del modo kernel.

UPDATE:

  • aplicación de modo de usuario se puede utilizar para hacer inspección de paquetes de poca profundidad y algunas operaciones de transmisión simples así como de control de controladores de modo kernel.

  • Los controladores de modo Kernel pueden realizar inspecciones de paquetes profundas y superficiales y todo tipo de manipulación de flujo, pero no pueden interactuar con aplicaciones comunes sin el uso de aplicaciones de modo de usuario que implementan la API de WFP.

+0

He leído la introducción de WFP y [Conversión de componentes para usar WFP] (http://msdn.microsoft.com/en-us/library/windows/hardware/gg463267.aspx#EVD) Entiendo que el usuario- la aplicación o servicio de modo puede realizar una administración avanzada de conexiones TCP, como conexiones de proxy, duplicación o clonación. Entonces, ¿cuál es la diferencia entre el modo de usuario y el modo kernel? – QuangNHb

+0

La aplicación de modo de usuario puede interactuar y controlar los controladores de modo kernel, pero hay situaciones tales como la inspección profunda de paquetes y la modificación que solo se puede realizar a través de controladores de modo kernel que implementan llamadas de WFP. –

Cuestiones relacionadas