Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 499|Răspunde: 0

[Sursă] .NET/C# folosește WinDivert pentru a captura pachete și a modifica pachetele pe Windows

[Copiază linkul]
Postat la 26-09-2025, 10:53:00 | | | |
Cerințe: Pachetele TCP trebuie capturate sub Windows și pot modifica pachetele, similar atacurilor man-in-the-middle în securitatea rețelei.

Recenzie:
.net este scris de SharpPcap, un instrument de capturare a pachetelor
https://www.itsvse.com/thread-2914-1-1.html

.NET Core în captarea traficului Linux
https://www.itsvse.com/thread-9524-1-1.html

WinDivert: Windows Packet Divert

Windows Packet Devi (WinDivert) este un pachet de capturare și transfer de pachete în modul utilizator pentru Windows 10, Windows 11 și Windows Server.

Site oficial:Autentificarea cu hyperlink este vizibilă.

WinDivert permite aplicațiilor în modul utilizator să captureze/modifice/lanseze pachete de rețea trimise către/dinspre stiva de rețea Windows. În concluzie, WinDivert poate:

  • Capturarea pachetelor de rețea
  • Filtrarea/eliminarea pachetelor de rețea
  • Detectarea pachetelor de rețea
  • (re)injectează pachete de rețea
  • Modificarea pachetelor de rețea


WinDivert poate fi folosit pentru a implementa filtre de pachete în modul utilizator, detectoare de pachete, firewall-uri, NAT, VPN-uri, aplicații de tunelare și altele.

Caracteristicile cheie ale WinDivert includ:

  • Interceptarea pachetelor, sniffing sau dropping pattern-uri
  • Suportă traficul loopback (localhost)
  • Suport complet pentru IPv6
  • Stratul rețelei
  • API simplă, dar puternică
  • Limbaj avansat de filtrare
  • Prioritatea filtrului
  • Instalare silențioasă
  • Este oferit gratuit conform termenilor Licenței Generale Publice Largi GNU (LGPL).


Build httpbin

httpbin(1): Serviciu de cerere și răspuns HTTP, construiește un serviciu http, modifică conținutul pachetului solicitat prin WinDivert, poți vedea intuitiv că pachetul a fost modificat prin conținutul răspunsului, iar serverul primește conținutul pachetului interceptat și modificat de intermediar.

Sursă:Autentificarea cu hyperlink este vizibilă.

Comanda httpbin de build Docker este următoarea:
Așa cum se arată mai jos:



Consola .NET

Mai întâi, creează o nouă aplicație de consolă .NET 8, iar referința nuget este următoarea:
Codul este următorul:

Înainte de a bloca și modifica baza de date, așa cum se arată în figura următoare:



Începe să interceptezi și să modifici pachetul, așa cum se arată în figura următoare:



(Sfârșit)




Precedent:Git sincronizează codul principal al ramurii depozitului cu ramura privată a depozitului
Următor:Discuz optimizează încărcarea home.php?mod=misc&ac=sendmail&rand=1759095001
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com