bandwhich - 프로세스별 대역폭 모니터 치트시트
bandwhich는 현재 네트워크 사용률을 프로세스, 연결 및 원격 IP/호스트명별로 세분화하여 표시하는 Rust 터미널 유틸리티입니다. iftop(연결별) 또는 nethogs(프로세스별만)과 달리 bandwhich는 소켓을 소유 프로세스와 연결하고 원격 끝점을 확인하므로 어느 앱 및 어느 원격 호스트가 대역폭을 소비하는지 즉시 확인할 수 있습니다.
설치
| 플랫폼 | 명령어 |
|---|
| Cargo (모든 플랫폼) | cargo install bandwhich |
| Arch Linux | sudo pacman -S bandwhich |
| Debian/Ubuntu | sudo apt install bandwhich |
| Fedora | sudo dnf install bandwhich |
| macOS (Homebrew) | brew install bandwhich |
| Nix | nix-env -iA nixpkgs.bandwhich |
| 미리 빌드된 바이너리 | GitHub 릴리스 페이지에서 다운로드 |
권한
bandwhich는 패킷을 스니핑해야 하므로 상승된 권한이 필요합니다:
# 가장 간단함: sudo로 실행
sudo bandwhich
# 또는 바이너리에 권한을 한 번 부여 (이후 sudo 없음, Linux)
sudo setcap cap_net_raw,cap_net_admin=eip $(which bandwhich)
기본 사용법
| 명령어 | 설명 |
|---|
sudo bandwhich | 모든 인터페이스 모니터링, 라이브 TUI |
sudo bandwhich -i eth0 | 단일 인터페이스 감시 |
sudo bandwhich --interface wlan0 | 동일, 장형 |
bandwhich --help | 전체 옵션 목록 |
bandwhich --version | 버전 |
주요 옵션
| 옵션 | 설명 |
|---|
-i, --interface NAME | 모니터링을 하나의 인터페이스로 제한 |
-n, --no-resolve | 역방향 DNS 조회 건너뛰기 (더 빠름, 원시 IP) |
-r, --raw | 머신 가독형, 비대화형 출력 (로깅에 좋음) |
-p, --processes | 프로세스 테이블만 표시 |
-c, --connections | 연결 테이블만 표시 |
-a, --addresses | 원격 주소 테이블만 표시 |
--total-utilization | 라이브 UI 대신 일회성 합계 출력 |
-s, --show-dns | 연결 보기에 DNS 쿼리 포함 |
-d, --dns-server IP | 역방향 조회용 특정 리졸버 사용 |
인터랙티브 키
| 키 | 동작 |
|---|
Tab | 레이아웃 순환 / 확장된 테이블 회전 |
Space | 일시 중지 / 업데이트 재개 |
↑ / ↓ | 테이블 내 스크롤 |
q / Ctrl+C | 종료 |
디스플레이 읽기
bandwhich는 세 개의 라이브 테이블을 표시합니다:
| 테이블 | 용도 |
|---|
| 프로세스별 사용률 | 어떤 실행파일이 송수신하는지, 업/다운 속도 포함 |
| 연결 | 각 소켓: 로컬 → 원격, 프로토콜 및 연결별 속도 |
| 원격 주소별 사용률 | 어떤 원격 호스트(확인됨)와 가장 많은 데이터를 교환하는지 |
속도는 현재 업(▲) 및 다운(▼) 처리량으로 약 1초마다 새로고침됩니다.
일반적인 워크플로우
# "지금 업로드를 먹는 것은 무엇인가?" — 프로세스만, DNS 지연 없음
sudo bandwhich -p -n
# 시끄러운 인터페이스 조사 및 나중의 분석을 위해 원시 스트림 기록
sudo bandwhich -i eth0 --raw | tee bandwhich-eth0.log
# 총 사용률의 일회성 스냅샷 (스크립트/cron)
sudo bandwhich --total-utilization -n
# 상위 원격 토커 찾기 (예: 유출 또는 백업 작업)
sudo bandwhich -a
bandwhich vs 기타 네트워크 모니터
| 도구 | 세분성 | 비고 |
|---|
| bandwhich | 프로세스 + 연결 + 원격 호스트 | Rust TUI, 원격 확인 |
| nethogs | 프로세스별 | 원격 호스트 그룹화 없음 |
| iftop | 연결별 | 프로세스 귀속 없음 |
| nload | 인터페이스별 합계 | 간단한 집계 그래프 |
| iptraf-ng | 인터페이스/연결별 | 더 오래된 ncurses 제품군 |
자료