Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ebpfmon — bpftool을 사용하여 eBPF 프로그램과 맵을 실시간 모니터링 및 검사하는 터미널 UI로, 커널 수준 관찰 가능 데이터의 실시간 디버깅 및 분석을 가능하게 합니다. | Kitploit
도구/GitHubGitHub/redcanaryco/ebpfmon
Dynamic Analysis (Sandboxing)DebuggersUtilities & Frameworks
GitHubredcanaryco/ebpfmon

ebpfmon

bpftool을 사용하여 eBPF 프로그램과 맵을 실시간 모니터링 및 검사하는 터미널 UI로, 커널 수준 관찰 가능 데이터의 실시간 디버깅 및 분석을 가능하게 합니다.

저장소 보기
9042년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Build workflow

ebpfmon

ebpfmon은 eBPF 프로그램을 모니터링하기 위한 도구입니다. 리눅스 커널의 bpftool과 함께 사용하도록 설계되었습니다. ebpfmon은 Go로 작성된 TUI(터미널 UI) 애플리케이션으로, eBPF 프로그램의 실시간 모니터링을 가능하게 합니다.

설치

eBPFmon은 소스에서 빌드하거나 릴리스에서 컴파일된 버전을 사용할 수 있습니다.

필수 종속성

  • bpftool (패키지 관리자에서 설치하거나 소스에서 빌드). ebpfmon이 eBPF 프로그램, 맵 등에 대한 정보를 가져오는 데 사용하는 도구입니다.
  • libelf
  • zlib

선택 사항(하지만 적극 권장) 종속성

  • libcap-devel
  • libbfd

Ubuntu 20.04+

root@kitploit:~
$ sudo apt install linux-tools-`uname -r` libelf-dev zlib1g-dev libcap-dev binutils-dev

Amazon Linux 2

root@kitploit:~
$ sudo yum install bpftool elfutils-libelf-devel libcap-devel binutils-devel

Rhel, CentOS, Fedora

root@kitploit:~
$ sudo dnf install elfutils-libelf-devel libcap-devel zlib-devel binutils-devel bpftool

Debian 11

root@kitploit:~
$ sudo apt install bpftool libelf-dev zlib1g-dev libcap-dev binutils-dev

사용법

root@kitploit:~
$ ./ebpfmon

참고: bpftool은 루트 권한이 필요하므로 ebpfmon은 sudo bpftool ...을 실행합니다. 따라서 sudo 암호를 입력하라는 메시지가 표시될 수 있습니다.

소스에서 빌드

추가 종속성

먼저 이 도구는 Go로 작성되었으므로 Go가 설치되어 있고 PATH 변수에 설정되어 있어야 합니다. Go 1.18 이상에서 작동해야 하며, 이전 버전에서도 작동할 가능성이 있지만 테스트되지는 않았습니다.

다음으로, 다음 종속성을 설치해야 합니다.

  • clang
  • llvm

다음 명령어를 실행하면 됩니다. 현재 디렉토리에 ebpfmon 바이너리가 빌드됩니다.

root@kitploit:~
$ git clone https://github.com/redcanaryco/ebpfmon.git
$ cd ebpfmon
$ make

문서

기본 탐색

ebpfmon의 메인 뷰는 프로그램 뷰입니다. 이 뷰는 시스템에 현재 로드된 모든 eBPF 프로그램을 보여줍니다. 각 창은 선택 가능하며, tab 키를 사용하여 창 간에 전환할 수 있습니다. 특정 창에서는 화살표 키를 사용하여 텍스트를 스크롤하거나 목록 선택을 위아래로 이동할 수 있습니다. 프로그램이나 맵과 같은 목록에서는 Enter를 눌러 선택할 수 있습니다. 프로그램을 선택하면 해당 프로그램에 대한 정보가 다른 창에 표시됩니다. 맵을 선택하면 해당 맵의 항목을 보여주는 맵 항목 뷰로 전환됩니다.

키 바인딩

ebpfmon에서 사용할 수 있는 몇 가지 키 바인딩이 있습니다. 이는 F1 키 또는 ? 키를 눌러 접근할 수 있는 도움말 페이지에 나열되어 있습니다.

프로그램 뷰

어떤 뷰에 있든 프로그램 뷰에 접근하려면 Ctrl과 e를 누르면 됩니다.

Bpf 기능 뷰

어떤 뷰에 있든 bpf 기능 뷰에 접근하려면 Ctrl과 f를 누르면 됩니다.

맵 뷰

맵 뷰에 접근하려면 현재 eBPF 프로그램의 맵(존재하는 경우)을 선택하기만 하면 됩니다. 그러면 맵 항목이 맵 뷰에 표시됩니다. d 키를 눌러 맵 항목을 삭제할 수 있습니다. 맵 뷰에서는 맵 항목 데이터를 다양한 방식으로 포맷할 수 있습니다. 포맷 섹션으로 이동하려면 맵 항목 목록 뷰에서 TAB을 누르면 됩니다. 그런 다음 TAB을 사용하여 다양한 포맷 옵션 간에 이동할 수 있습니다. 맵 항목 목록으로 돌아가려면 ESC를 누르세요.

또한 선택 항목에서 ENTER를 눌러 맵 항목을 편집할 수 있습니다. 편집 뷰에서는 맵 키/값의 원시 바이트 값을 편집할 수 있습니다. 대괄호는 무시해도 됩니다.

종료

애플리케이션을 종료하려면 q 또는 Q를 누르면 됩니다.

되돌아가기

일반적으로 ESC 키를 누르면 이전 뷰로 돌아갑니다. 또한 도움말 뷰나 오류 뷰에 있는 경우 escape를 누르면 이전 창으로 돌아갑니다.

명령줄 인수

-bpftool

bpftool 바이너리의 경로를 지정할 수 있습니다. 사용자 정의 bpftool 빌드를 사용하려는 경우 유용합니다. 기본적으로 시스템의 bpftool 바이너리를 사용합니다. 환경 변수를 사용할 수도 있습니다. 다음 순서로 확인합니다.

  1. 명령줄에 -bpftool 인수가 지정되었는지 확인합니다.
  2. 환경 변수 BPFTOOL_PATH가 설정되었는지 확인합니다.
  3. 시스템 바이너리를 사용합니다.

-logfile

이 인수는 로그를 남길 파일을 지정할 수 있습니다. 기본적으로 ./log.txt에 로그를 기록합니다. 런타임 중 발생한 오류를 기록하므로 애플리케이션 문제를 디버깅할 때 확인하기 좋은 파일입니다.

테스트

이 프로젝트에는 몇 가지 기본 테스트가 포함되어 있습니다.

테스트를 실행하려면 프로젝트 루트 디렉토리에서 다음 명령을 실행하세요.

root@kitploit:~
$ go test ./...

자체 bpftool 바이너리를 사용하려면 BPFTOOL_PATH 환경 변수를 bpftool 바이너리 경로로 설정하면 됩니다. 그렇지 않으면 시스템 기본값을 사용합니다.

eBPF에 관한 중요 참고 사항

eBPF 맵

  • 동결된 맵: 맵이 동결(frozen)으로 표시되면 향후 syscall 호출로 map_fd의 맵 상태를 변경할 수 없음을 의미합니다. 동결된 맵의 경우 eBPF 프로그램의 쓰기 작업은 여전히 가능합니다. 이는 bpftool(ebpfmon에서 사용하는 도구)이 맵 항목을 변경할 수 없음을 의미합니다. 이는 ebpfmon의 한계가 아니라 bpftool의 한계입니다.
  • 링 버퍼: bpftool은 ringbuf 유형의 맵을 쿼리할 때 데이터를 가져오지 못할 가능성이 높습니다.
도구 다운로드