--- title: bpftool — eBPF 프로그램·맵 관리 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: eBPF 프로그램·맵·링크를 조회·관리합니다. bpftrace의 실행 결과를 더 깊이 분석할 때 씁니다. tags: 프로그램, 장애 진단 및 복구, bpftool --- **💬 "bpftool 명령어"** bpftool는 **eBPF 프로그램·맵 관리** eBPF 프로그램·맵·링크를 조회·관리합니다. bpftrace의 실행 결과를 더 깊이 분석할 때 씁니다. 실행 중인 eBPF 프로그램 목록·상세를 조회합니다. eBPF 맵 내용을 실시간으로 덤프합니다. - **개념**: 실행 중인 eBPF 프로그램 목록·상세를 조회합니다. - **주요 기능**: eBPF 맵 내용을 실시간으로 덤프합니다. - **장점**: 네트워크 인터페이스별 XDP/TC 프로그램을 확인합니다. - **활용**: 커널 BTF(BPF Type Format)를 탐색합니다. ## 설치 및 다운로드 bpftool는 패키지 매니저 또는 공식 스크립트로 설치합니다. | 환경 | 명령 | | --- | --- | | linux-tools 내장 | sudo apt install linux-tools-$(uname -r) | | RHEL | sudo dnf install bpftool | | 소스 빌드 | github.com/libbpf/bpftool | | 확인 | bpftool version | 설치 확인은 `bpftool --version`으로 합니다. ## 자주 쓰는 옵션 | 옵션 | 설명 | | --- | --- | | bpftool prog list | 실행 중 eBPF 프로그램 목록 | | bpftool prog show | 특정 프로그램 상세 | | bpftool map list | eBPF 맵 목록 | | bpftool map dump | 맵 내용 덤프 | | bpftool net show | 인터페이스별 BPF 프로그램 | ## 필수 명령어 조합 3가지 - `bpftool prog list` — 실행 중 eBPF 프로그램 확인 - `bpftool map dump name my_map` — 특정 맵 내용 확인 - `bpftool net show` — XDP/TC 프로그램 부착 인터페이스 확인 **💬 "실제 서버에서 bpftool를 사용하는 예시를 보여줘"** 실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다. ### 1단계 · 설치 확인 설치 여부를 확인합니다. ``` bpftool version || sudo apt install -y linux-tools-$(uname -r) ``` ### 2단계 · 프로그램 목록 실행 중 eBPF 프로그램을 확인합니다. ``` sudo bpftool prog list ``` ### 3단계 · 맵 조회 eBPF 맵 내용을 확인합니다. ``` sudo bpftool map list ``` ## 실제 실행 화면 bpftool로 XDP 프로그램 부착 상태를 확인한 결과입니다. ![bpftool 명령어 실행 결과](https://games.cursorai.co.kr/assets/bpftool-demo.png) 실제 운영 중인 서버 ## 실무에서는 이렇게 씁니다 ### 1. XDP 프로그램 확인 **상황** — XDP 필터가 제대로 붙어 있는지 확인합니다. ``` sudo bpftool net show ``` **결과** — eth0에 prog_xdp_filter가 보입니다. **포인트** — XDP 프로그램의 부착 상태를 직접 확인합니다. ### 2. 맵 내용 조회 **상황** — 동적으로 관리되는 IP 화이트리스트를 확인합니다. ``` sudo bpftool map dump name blocklist ``` **결과** — 등록된 IP 목록이 출력됩니다. **포인트** — 커널과 유저스페이스 사이의 데이터 동기화를 검증합니다. ## 실제 실행 화면 bpftool map dump로 맵 내용을 조회한 결과입니다. ![bpftool 명령어 실행 결과 2](https://games.cursorai.co.kr/assets/bpftool-demo2.png) 실제 운영 중인 서버 ## 주의할 점 - bpftool은 루트 권한이 필요합니다. 맵 덤프는 민감한 연결 정보를 포함할 수 있습니다. - 커널 버전에 따라 출력 형식이 조금씩 다릅니다. 최신 bpftool을 쓰는 것이 좋습니다. - bpftrace로 만든 프로그램은 exit 시 정리됩니다. bpftool로 보려면 bpftrace 실행 중에 조회합니다. --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/troubleshooting/bpftool.html