Uma interface de terminal para capturar e inspecionar o tráfego de rede no Linux, baseada em eBPF.
microsoft/ebpf-for-windows
Runtime de eBPF para Windows que permite executar toolchains, APIs e programas eBPF existentes do Linux sobre o kernel do Windows.
- Estrelas
- 3,588
- Forks
- 310
- Issues abertas
- 322
- Último commit
- há 21 horas
O que é?
O eBPF for Windows leva o modelo de programação eBPF para o Windows. Ele reutiliza projetos eBPF existentes, como o compilador JIT uBPF e o verificador PREVAIL, e adiciona uma camada de hospedagem para Windows, permitindo carregar no kernel programas criados com toolchains eBPF padrão, como o clang. São fornecidas APIs compatíveis com Libbpf e a ferramenta de linha de comando bpftool para carregar e gerenciar programas.
Os programas podem ser implantados em três modos: nativo, em que o bytecode é convertido em C e compilado em um driver do Windows (o modo preferencial, que funciona com o HVCI habilitado); compilação JIT por meio de um serviço em modo de usuário; e um interpretador disponível apenas em builds de depuração. Os programas se conectam a hooks do kernel e chamam funções auxiliares que encapsulam APIs públicas do kernel do Windows. O projeto oferece suporte ao Windows 11 e ao Windows Server 2022 ou versões posteriores.
Recursos principais
- 01Executa no Windows programas eBPF criados com toolchains padrão, como o clang.
- 02Oferece APIs compatíveis com Libbpf e suporte ao bpftool para carregar programas.
- 03Oferece um modo nativo que compila bytecode eBPF em drivers do Windows e é compatível com HVCI.
- 04Inclui um caminho de compilação JIT que usa o compilador uBPF.
- 05Disponibiliza hooks e funções auxiliares que encapsulam APIs públicas do kernel do Windows.
Casos de uso
- Executar lógica de observabilidade ou proteção contra DoS no kernel do Windows usando ferramentas eBPF.
- Portar para o Windows programas de rede ou tracing baseados em eBPF com alterações mínimas no código-fonte.
- Implantar programas eBPF em nível de kernel em sistemas com HVCI habilitado.
Início rápido
- 1
Leia o Getting Started Guide em docs/GettingStarted.md para instalar e testar o projeto
Antes de usar
- Requer Windows 11 ou posterior, ou Windows Server 2022 ou posterior.
- O projeto se descreve como um trabalho em andamento.
- Com o HVCI habilitado, apenas programas eBPF em modo nativo funcionam, pois programas compilados com JIT não podem ser executados e o interpretador não está incluído nas compilações de lançamento.
Em coleções
Tópicos
Perguntas frequentes
- O que é ebpf-for-windows?
- Runtime de eBPF para Windows que permite executar toolchains, APIs e programas eBPF existentes do Linux sobre o kernel do Windows. O eBPF for Windows leva o modelo de programação eBPF para o Windows. Ele reutiliza projetos eBPF existentes, como o compilador JIT uBPF e o verificador PREVAIL, e adiciona uma camada de hospedagem para Windows, permitindo carregar no kernel programas criados com toolchains eBPF padrão, como o clang. São fornecidas APIs compatíveis com Libbpf e a ferramenta de linha de comando bpftool para carregar e gerenciar programas.
- ebpf-for-windows é gratuito? Qual é a licença?
- ebpf-for-windows é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- ebpf-for-windows ainda é mantido?
- Manutenção ativa. O último commit de ebpf-for-windows foi em 7 de nov. de 2026.
- Para que posso usar ebpf-for-windows?
- Executar lógica de observabilidade ou proteção contra DoS no kernel do Windows usando ferramentas eBPF. Portar para o Windows programas de rede ou tracing baseados em eBPF com alterações mínimas no código-fonte. Implantar programas eBPF em nível de kernel em sistemas com HVCI habilitado.
- Como instalar ebpf-for-windows?
- Leia o Getting Started Guide em docs/GettingStarted.md para instalar e testar o projeto
- Onde consigo ebpf-for-windows?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/microsoft/ebpf-for-windows
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca C e plataforma que encapsulam o libbpf para compilar e carregar programas eBPF, com suporte à compilação remota e ao backport de recursos para versões antigas do kernel.
CNI baseado em eBPF e camada de rede, segurança e observabilidade para clusters Kubernetes, com políticas L3-L7 baseadas em identidade e substituição do kube-proxy.
Tutorial passo a passo de eBPF com exemplos curtos e executáveis em C, Go e Rust, baseado principalmente em libbpf e CO-RE.
Um mecanismo experimental de proxy transparente para Linux, escrito em Rust, que segue o design e a sintaxe de configuração do dae, com grupos de saída no estilo sing-box.
Sistema de APM para monitorar, rastrear e diagnosticar arquiteturas distribuídas e cloud-native de microsserviços.