Repolode
microsoft

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. 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

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.

1,6 mil+514 esta semana137RustGPL-3.0Bem mantidoAtualizado há 6 horas