Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 499|Resposta: 0

[Fonte] .NET/C# usa WinDivert para capturar e modificar pacotes no Windows

[Copiar link]
Postado em 26-09-2025 às 10:53:00 | | | |
Requisitos: Pacotes TCP precisam ser capturados sob Windows e podem modificá-los, semelhante a ataques man-in-the-middle em segurança de rede.

Revisar:
.net é escrito pelo SharpPcap, uma ferramenta de captura de pacotes
https://www.itsvse.com/thread-2914-1-1.html

.NET Core na captura de tráfego Linux
https://www.itsvse.com/thread-9524-1-1.html

WinDivert: Windows Packet Divert

O Windows Packet Divert (WinDivert) é um pacote de captura e transferência de pacotes em modo usuário para Windows 10, Windows 11 e Windows Server.

Site Oficial:O login do hiperlink está visível.

O WinDivert permite que aplicações em modo usuário capturem/modifiquem/descartem pacotes de rede enviados para/da pilha de rede do Windows. Em resumo, o WinDivert pode:

  • Capturar pacotes de rede
  • Filtrar/eliminar pacotes de rede
  • Sniffing de pacotes de rede
  • (re)injetar pacotes de rede
  • Modificar pacotes de rede


O WinDivert pode ser usado para implementar filtros de pacotes em modo usuário, detectores de pacotes, firewalls, NAT, VPNs, aplicações de tunelamento e mais.

Principais recursos do WinDivert incluem:

  • Padrões de interceptação de pacotes, farejamento ou descarte de pacotes
  • Suporta tráfego de loopback (localhost)
  • Suporte completo a IPv6
  • Camada de rede
  • API simples, mas poderosa
  • Linguagem avançada de filtragem
  • Prioridade de filtro
  • Instalação silenciosa
  • É oferecido gratuitamente sob os termos da Licença Pública Geral Ampla GNU (LGPL).


Build httpbin

httpbin(1): Serviço de solicitação e resposta HTTP, construa um serviço http, modifique o conteúdo do pacote solicitado via WinDivert, você pode ver intuitivamente que o pacote foi modificado pelo conteúdo da resposta, e o servidor recebe o conteúdo do pacote que foi interceptado e modificado pelo intermediário.

Fonte:O login do hiperlink está visível.

O comando httpbin da build do Docker é o seguinte:
Como mostrado abaixo:



.NET console

Primeiro, crie um novo aplicativo de console .NET 8, e a referência nuget é a seguinte:
O código é o seguinte:

Antes de bloquear e modificar o banco de dados, como mostrado na figura a seguir:



Comece a interceptar e modificar o pacote, como mostrado na figura a seguir:



(Fim)




Anterior:O git sincroniza o código do branch do repositório primário com o branch do repositório privado
Próximo:Discuz otimiza o carregamento home.php?mod=misc&ac=sendmail&rand=1759095001
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com