Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 499|Respuesta: 0

[Fuente] .NET/C# utiliza WinDivert para capturar paquetes y modificarlos en Windows

[Copiar enlace]
Publicado el 26-9-2025 a las 10:53:00 | | | |
Requisitos: Los paquetes TCP deben capturarse bajo Windows y pueden modificarlos, de forma similar a los ataques man-in-the-middle en seguridad de red.

Revisión:
.net está escrito por SharpPcap, una herramienta de captura de paquetes
https://www.itsvse.com/thread-2914-1-1.html

.NET Core en la captura de tráfico en Linux
https://www.itsvse.com/thread-9524-1-1.html

WinDivert: Windows Packet Divert

Windows Packet Divert (WinDivert) es un paquete de captura y transferencia de paquetes en modo usuario para Windows 10, Windows 11 y Windows Server.

Página web oficial:El inicio de sesión del hipervínculo es visible.

WinDivert permite que las aplicaciones en modo usuario capturen/modifiquen o eliminen paquetes de red enviados hacia/desde la pila de red de Windows. En resumen, WinDivert puede:

  • Captura de paquetes de red
  • Filtrar/eliminar paquetes de red
  • Detección de paquetes de red
  • (re)inyectar paquetes de red
  • Modificar paquetes de red


WinDivert puede usarse para implementar filtros de paquetes en modo usuario, detectores de paquetes, cortafuegos, NAT, VPNs, aplicaciones de túnel y más.

Las características clave de WinDivert incluyen:

  • Patrones de interceptación de paquetes, olfateo o lanzamiento
  • Soporta tráfico de bucle (localhost)
  • Soporte completo para IPv6
  • Capa de red
  • API simple pero potente
  • Lenguaje de filtrado avanzado
  • Prioridad de filtro
  • Instalación silenciosa
  • Se ofrece de forma gratuita bajo los términos de la Licencia Pública General Amplia GNU (LGPL).


Compilar httpbin

httpbin(1): Servicio de petición y respuesta HTTP, construye un servicio http, modifica el contenido solicitado del paquete a través de WinDivert, puedes ver intuitivamente que el paquete ha sido modificado a través del contenido de respuesta, y el servidor recibe el contenido del paquete que ha sido interceptado y modificado por el intermediario.

Fuente:El inicio de sesión del hipervínculo es visible.

El comando httpbin de compilación de Docker es el siguiente:
Como se muestra a continuación:



.NET

Primero, crea una nueva aplicación de consola .NET 8, y la referencia nuget es la siguiente:
El código es el siguiente:

Antes de bloquear y modificar la base de datos, como se muestra en la siguiente figura:



Comienza a interceptar y modificar el paquete, como se muestra en la siguiente figura:



(Fin)




Anterior:Git sincroniza el código de la rama del repositorio principal con la rama del repositorio privado
Próximo:Discuz optimiza la carga home.php?mod=misc&ac=sendmail&rand=1759095001
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com