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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
bandwhich — 터미널 대역폭 사용률 도구 | Kitploit
도구/GitHubGitHub/imsnif/bandwhich
General Purpose UtilitiesPacket Sniffing & AnalysisNetwork MappingInformation GatheringDNS Analysis
GitHubimsnif/bandwhich

bandwhich

터미널 대역폭 사용률 도구

저장소 보기
11.9k3443개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

bandwhich

demo

이것은 프로세스, 연결 및 원격 IP/호스트명별로 현재 네트워크 사용량을 표시하는 CLI 유틸리티입니다.

목차

  • bandwhich
    • 목차
    • 프로젝트 상태
    • 어떻게 동작하나요?
    • 설치
      • 하위 배포판 패키징 현황
      • 사전 빌드된 바이너리 다운로드
    • 소스에서 빌드하기
      • 크로스 컴파일
        • Android
    • 설치 후 (Linux)
      • 1. setcap
        • 캐퍼빌리티 설명
      • 2. sudo (또는 대안)
    • 설치 후 (Windows)
    • 사용법
    • 기여
    • 라이선스

프로젝트 상태

이 프로젝트는 수동 유지보수 단계에 있습니다. 심각한 이슈는 처리되지만, 새로운 기능은 개발되고 있지 않습니다. 그러나 이는 무엇보다도 자금 및/또는 인력 부족 때문이므로, 풀 리퀘스트는 언제나 환영합니다. 또한, 이 프로젝트에 장기적으로 기여할 수 있고 의향이 있다면, 공동 유지관리자로 지원해 주시기 바랍니다.

자세한 내용은 The Future of Bandwhich #275를 참조하세요.

어떻게 동작하나요?

bandwhich는 주어진 네트워크 인터페이스를 스니핑하여 IP 패킷 크기를 기록하고, Linux에서는 /proc 파일 시스템, macOS에서는 lsof, Windows에서는 WinApi와 대조합니다. 터미널 창 크기에 반응하여 공간이 없으면 더 적은 정보를 표시합니다. 또한 백그라운드에서 역방향 DNS를 최선의 노력으로 수행하여 IP를 호스트 이름으로 변환하려고 시도합니다.

설치

하위 배포판 패키징 현황

각 플랫폼에 대한 자세한 지침은 INSTALL.md를 참조하세요.

Packaging status

사전 빌드된 바이너리 다운로드

우리는 다양한 OS용으로 몇 가지 범용 바이너리를 releases에서 제공합니다.

소스에서 빌드하기

root@kitploit:~
git clone https://github.com/imsnif/bandwhich.git
cd bandwhich
cargo build --release

최신 최소 지원 Rust 버전은 Cargo.toml의 rust-version 필드를 참조하세요.

크로스 컴파일

대체 대상 플랫폼으로의 크로스 컴파일은 cross를 통해 지원됩니다. 대략적인 절차는 다음과 같습니다:

  1. 대상 아키텍처를 확인합니다. Linux라면 uname -m을 사용할 수 있습니다.
  2. 해당 대상 트리플에 대한 rustc 플랫폼 지원을 확인합니다.
  3. cross를 설치합니다.
  4. cross build --release --target <TARGET_TRIPLE>을 실행합니다.

Android

cross-rs/cross#1222가 해결될 때까지 최신 HEAD를 사용하세요:

root@kitploit:~
cargo install --git https://github.com/cross-rs/cross.git cross
cross build --release --target aarch64-linux-android

설치 후 (Linux)

bandwhich는 네트워크 패킷을 스니핑하므로 상승된 권한이 필요합니다. Linux에서는 이를 수행하는 두 가지 주요 방법이 있습니다:

1. setcap

  • bandwhich 바이너리에 필요한 권한(리눅스에서 "캐퍼빌리티"라고 함)을 영구적으로 부여합니다.
  • 모든 비특권 사용자에게 bandwhich의 모니터링 기능에 대한 전체 액세스 권한을 부여하려면 이 방법을 사용하세요.
    • 이는 단일 사용자 머신 또는 모든 사용자가 신뢰되는 경우에 권장되는 설정입니다.
    • 사용자가 다른 사람의 트래픽을 볼 수 없도록 하려면 권장되지 않습니다.
root@kitploit:~
# 캐퍼빌리티 할당
sudo setcap cap_sys_ptrace,cap_dac_read_search,cap_net_raw,cap_net_admin+ep $(command -v bandwhich)
# 비특권 사용자로 실행
bandwhich

캐퍼빌리티 설명

  • cap_sys_ptrace,cap_dac_read_search: /proc/<pid>/fd/에 대한 접근을 허용하여 bandwhich가 어떤 열린 포트가 어떤 프로세스에 속하는지 판별할 수 있게 합니다.
  • cap_net_raw,cap_net_admin: 시스템에서 패킷을 캡처할 수 있게 합니다.

2. sudo (또는 대안)

  • 매번 권한 상승을 요구합니다.
  • 다중 사용자 환경의 관리자라면 이 방법을 사용하세요.
root@kitploit:~
sudo bandwhich

설치 방법에 따라 bandwhich가 홈 디렉토리 어딘가에 설치된 경우(command -v bandwhich로 확인 가능), command not found 오류가 발생할 수 있습니다. 이는 많은 배포판에서 sudo가 기본적으로 보안상의 이유로 사용자의 $PATH를 유지하지 않기 때문입니다.

이를 해결하려면 다음 중 하나를 수행하면 됩니다:

  1. sudo가 $PATH 환경 변수를 유지하도록 설정;
  2. bandwhich를 실행하는 동안 $PATH를 명시적으로 설정: sudo env "PATH=$PATH" bandwhich;
  3. sudo에 전체 경로 전달: sudo $(command -v bandwhich).

설치 후 (Windows)

Windows에서 패킷을 캡처하려면 먼저 npcap을 설치해야 할 수 있습니다.

사용법

root@kitploit:~
Usage: bandwhich [OPTIONS]

Options:
  -i, --interface <INTERFACE>      The network interface to listen on, eg. eth0
  -r, --raw                        Machine friendlier output
  -n, --no-resolve                 Do not attempt to resolve IPs to their hostnames
  -s, --show-dns                   Show DNS queries
  -d, --dns-server <DNS_SERVER>    A dns server ip to use instead of the system default
      --log-to <LOG_TO>            Enable debug logging to a file
  -v, --verbose...                 Increase logging verbosity
  -q, --quiet...                   Decrease logging verbosity
  -p, --processes                  Show processes table only
  -c, --connections                Show connections table only
  -a, --addresses                  Show remote addresses table only
  -u, --unit-family <UNIT_FAMILY>  Choose a specific family of units [default: bin-bytes] [possible values: bin-bytes, bin-bits, si-bytes, si-bits]
  -t, --total-utilization          Show total (cumulative) usages
  -h, --help                       Print help (see more with '--help')
  -V, --version                    Print version

기여

CONTRIBUTING.md를 참조하세요.

라이선스

MIT

도구 다운로드
OS아키텍처지원용도
Androidaarch64최선의 노력

모든 최신 Android 기기.

이것은 일반적인 사용에 적합한 APK가 아닌 순수 바이너리 파일입니다.

Linuxaarch64전체64비트 ARMv8+ (서버, 일부 최신 라우터, RPi-4+).
armv7hf최선의 노력32비트 ARMv7 (구형 라우터, RPi-4 이전).
x64전체대부분의 Linux 데스크톱 및 서버.
MacOSaarch64전체Apple Silicon Mac (2021+).
x64Intel Mac (2021년 이전).
Windowsx64전체대부분의 Windows 데스크톱 및 서버.