Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
bandwhich — 终端带宽利用率工具 | Kitploit
工具/GitHubGitHub/imsnif/bandwhich
通用工具数据包嗅探与分析网络映射信息收集DNS 分析
GitHubimsnif/bandwhich

bandwhich

终端带宽利用率工具

查看仓库
11.9k344194个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

bandwhich

demo

这是一个 CLI 工具,用于按进程、连接和远程 IP/主机名显示当前网络利用率。

目录

  • 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。

打包状态

下载预构建二进制文件

我们在 releases 页面为多种操作系统提供了通用二进制文件。

操作系统架构支持程度适用场景
Androidaarch64尽力而为

所有现代 Android 设备。

注意:此为纯二进制文件,并非适合一般使用的 APK。

Linuxaarch64完全支持 64 位 ARMv8+(服务器、部分现代路由器、RPi-4+)。
armv7hf尽力而为32 位 ARMv7(较旧路由器、RPi-4 前)。
x64完全支持 大多数 Linux 桌面和服务器。
MacOSaarch64完全支持 Apple Silicon Mac(2021 年后)。
x64 Intel Mac(2021 年前)。
Windowsx64完全支持 大多数 Windows 桌面和服务器。

从源码构建

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 <目标三元组>。

Android

在 cross-rs/cross#1222 解决之前,请使用最新 HEAD:

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

安装后配置 (Linux)

由于 bandwhich 会嗅探网络数据包,因此需要提升权限。 在 Linux 上有两种主要方式实现:

1. setcap

  • 永久授予 bandwhich 二进制文件所需的权限(在 Linux 中称为“能力”)。
  • 如果您希望向所有非特权用户授予完全访问 bandwhich 监控能力的权限,可以这样做。
    • 这是单用户机器或所有用户都可信时的推荐设置。
    • 如果您想确保用户无法看到其他用户的流量,则不建议这样做。
# 分配能力
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 (或替代方案)

  • 每次都需要提升权限。
  • 如果您是多用户环境的管理员,请这样做。
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 以捕获数据包。

使用方法

Usage: bandwhich [OPTIONS]

Options:
  -i, --interface <INTERFACE>      要监听的网络接口,例如 eth0
  -r, --raw                        输出更友好的机器格式
  -n, --no-resolve                 不尝试将 IP 解析为主机名
  -s, --show-dns                   显示 DNS 查询
  -d, --dns-server <DNS_SERVER>    使用的 DNS 服务器 IP,替代系统默认
      --log-to <LOG_TO>            启用调试日志并写入文件
  -v, --verbose...                 增加日志详细程度
  -q, --quiet...                   减少日志详细程度
  -p, --processes                  仅显示进程表
  -c, --connections                仅显示连接表
  -a, --addresses                  仅显示远程地址表
  -u, --unit-family <UNIT_FAMILY>  选择特定单位系列 [默认: bin-bytes] [可能的值: bin-bytes, bin-bits, si-bytes, si-bits]
  -t, --total-utilization          显示总(累积)用量
  -h, --help                       打印帮助(使用 '--help' 查看更多)
  -V, --version                    打印版本

贡献

请参见 CONTRIBUTING.md。

许可证

MIT

下载工具