Repolode
microsoft

microsoft/ebpf-for-windows

기존 Linux eBPF 툴체인, API, 프로그램을 Windows 커널에서 실행할 수 있게 해 주는 Windows용 eBPF 런타임입니다.

스타
3,588
포크
310
열린 이슈
322
마지막 커밋
18시간 전

어떤 프로젝트인가요?

eBPF for Windows는 eBPF 프로그래밍 모델을 Windows에 제공합니다. uBPF JIT 컴파일러와 PREVAIL 검증기 등 기존 eBPF 프로젝트를 재사용하고, clang 같은 표준 eBPF 툴체인으로 빌드한 프로그램을 커널에 로드할 수 있도록 Windows 호스팅 계층을 추가합니다. 프로그램을 로드하고 관리할 수 있도록 Libbpf 호환 API와 bpftool 명령줄 도구도 제공합니다.

프로그램은 세 가지 모드로 배포할 수 있습니다. 기본이자 HVCI가 활성화된 상태에서도 작동하는 네이티브 모드에서는 바이트코드를 C로 변환해 Windows 드라이버에 빌드합니다. 사용자 모드 서비스를 통한 JIT 컴파일도 지원하며, 인터프리터는 디버그 빌드에만 포함됩니다. 프로그램은 커널 훅에 연결되고, 공개 Windows 커널 API를 감싸는 헬퍼 함수를 호출합니다. Windows 11 및 Windows Server 2022 이상을 지원합니다.

핵심 기능

  • 01clang 같은 표준 툴체인으로 빌드한 eBPF 프로그램을 Windows에서 실행합니다.
  • 02프로그램 로드를 위한 Libbpf 호환 API와 bpftool 지원을 제공합니다.
  • 03eBPF 바이트코드를 Windows 드라이버로 컴파일하는 네이티브 모드를 제공하며 HVCI와 호환됩니다.
  • 04uBPF 컴파일러를 사용하는 JIT 컴파일 경로를 포함합니다.
  • 05공개 Windows 커널 API를 감싸는 훅과 헬퍼 함수를 제공합니다.

활용 사례

  • eBPF 도구를 사용해 Windows 커널에서 관측성 또는 DoS 방어 로직을 실행합니다.
  • 소스 코드를 거의 수정하지 않고 eBPF 기반 네트워킹 또는 트레이싱 프로그램을 Windows로 포팅합니다.
  • HVCI가 활성화된 시스템에 커널 수준 eBPF 프로그램을 배포합니다.

빠른 시작

  1. 1

    docs/GettingStarted.md의 Getting Started Guide를 읽고 프로젝트를 설치한 후 사용해 보세요

사용 전 알아둘 점

  • Windows 11 이상 또는 Windows Server 2022 이상이 필요합니다.
  • 프로젝트는 현재 개발 중이라고 설명되어 있습니다.
  • HVCI가 활성화된 경우 네이티브 모드 eBPF 프로그램만 작동합니다. JIT 컴파일된 프로그램은 실행할 수 없고 릴리스 빌드에는 인터프리터가 포함되어 있지 않기 때문입니다.

포함된 컬렉션

토픽

자주 묻는 질문

ebpf-for-windows은(는) 무엇인가요?
기존 Linux eBPF 툴체인, API, 프로그램을 Windows 커널에서 실행할 수 있게 해 주는 Windows용 eBPF 런타임입니다. eBPF for Windows는 eBPF 프로그래밍 모델을 Windows에 제공합니다. uBPF JIT 컴파일러와 PREVAIL 검증기 등 기존 eBPF 프로젝트를 재사용하고, clang 같은 표준 eBPF 툴체인으로 빌드한 프로그램을 커널에 로드할 수 있도록 Windows 호스팅 계층을 추가합니다. 프로그램을 로드하고 관리할 수 있도록 Libbpf 호환 API와 bpftool 명령줄 도구도 제공합니다.
ebpf-for-windows은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
ebpf-for-windows은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
ebpf-for-windows은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. ebpf-for-windows의 마지막 커밋은 2026년 11월 7일입니다.
ebpf-for-windows은(는) 어디에 사용할 수 있나요?
eBPF 도구를 사용해 Windows 커널에서 관측성 또는 DoS 방어 로직을 실행합니다. 소스 코드를 거의 수정하지 않고 eBPF 기반 네트워킹 또는 트레이싱 프로그램을 Windows로 포팅합니다. HVCI가 활성화된 시스템에 커널 수준 eBPF 프로그램을 배포합니다.
ebpf-for-windows는 어떻게 설치하나요?
docs/GettingStarted.md의 Getting Started Guide를 읽고 프로젝트를 설치한 후 사용해 보세요
ebpf-for-windows은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/microsoft/ebpf-for-windows

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

dae의 eBPF 설계와 dae 설정 구문을 따르고 sing-box 스타일의 아웃바운드 그룹을 지원하는 실험적인 Rust 기반 Linux 투명 프록시 엔진입니다.

1.6천+514 이번 주137RustGPL-3.0활발히 관리됨업데이트 3시간 전