Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
bandwhich — Инструмент для мониторинга использования пропускной способности в терминале | Kitploit
Инструменты/GitHubGitHub/imsnif/bandwhich
Утилиты общего назначенияСниффинг и анализ пакетовКартирование сетиСбор информацииАнализ DNS
GitHubimsnif/bandwhich

bandwhich

Инструмент для мониторинга использования пропускной способности в терминале

Репозиторий
11.9k344204 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

bandwhich

demo

Это CLI-утилита для отображения текущего использования сети по процессам, соединениям и удалённым IP/именам хостов.

Содержание

  • bandwhich
    • Содержание
    • Статус проекта
    • Как это работает?
    • Установка
      • Статус пакетов в репозиториях
      • Загрузить готовый бинарник
    • Сборка из исходников
      • Кросс-компиляция
        • Android
    • После установки (Linux)
      • 1. setcap
        • Пояснение возможностей
      • 2. sudo (или альтернатива)
    • После установки (Windows)
    • Использование
    • Участие в разработке
    • Лицензия

Статус проекта

Этот проект находится в режиме пассивного обслуживания. Критические проблемы будут решаться, но новые функции не разрабатываются. Однако это связано скорее с нехваткой финансирования и/или ресурсов, чем с чем-то ещё, поэтому pull request'ы более чем приветствуются. Кроме того, если у вас есть возможность и желание участвовать в проекте на долгосрочной основе, мы приглашаем вас подать заявку на роль совладельца.

Подробнее см. The Future of Bandwhich #275.

Как это работает?

bandwhich сниффает заданный сетевой интерфейс и записывает размер IP-пакетов, сверяя их с файловой системой /proc в Linux, lsof в macOS или используя WinApi в Windows. Он реагирует на размер окна терминала, отображая меньше информации, если для неё нет места. Он также пытается разрешить IP-адреса в имена хостов в фоновом режиме, используя обратный DNS по мере возможности.

Установка

Статус пакетов в репозиториях

Подробные инструкции для каждой платформы см. в INSTALL.md.

Packaging status

Загрузить готовый бинарник

Мы предлагаем несколько универсальных бинарников в релизах для различных ОС.

ОСАрхитектураПоддержкаИспользование
Androidaarch64По возможности

Все современные устройства Android.

Обратите внимание, что это чистый бинарный файл, а не APK, пригодный для обычного использования.

Linuxaarch64Полная 64-битные ARMv8+ (серверы, некоторые современные роутеры, RPi-4+).
armv7hfПо возможности32-битные ARMv7 (старые роутеры, pre-RPi-4).
x64Полная Большинство настольных ПК и серверов на Linux.
MacOSaarch64Полная Mac на Apple Silicon (2021+).
x64 Mac на Intel (до 2021).
Windowsx64Полная Большинство настольных ПК и серверов на Windows.

Сборка из исходников

git clone https://github.com/imsnif/bandwhich.git
cd bandwhich
cargo build --release

Актуальную минимальную поддерживаемую версию Rust см. в поле rust-version файла Cargo.toml.

Кросс-компиляция

Кросс-компиляция для других целевых платформ поддерживается с помощью cross. Примерная процедура:

  1. Проверьте архитектуру целевой платформы. Если вы в Linux, можно использовать uname -m.
  2. Найдите соответствующую тройку target в документации по поддержке платформ rustc.
  3. Установите cross.
  4. Выполните cross build --release --target <TARGET_TRIPLE>.

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 — "capabilities").
  • Используйте этот способ, если хотите предоставить всем непривилегированным пользователям полный доступ к возможностям мониторинга bandwhich.
    • Это рекомендуемая настройка для однопользовательских машин или если все пользователи доверенные.
    • Эту настройку не рекомендуется использовать, если вы хотите гарантировать, что пользователи не смогут видеть трафик друг друга.
# назначить capabilities
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. явно задать $PATH при запуске bandwhich: sudo env "PATH=$PATH" bandwhich;
  3. передать полный путь к sudo: sudo $(command -v bandwhich).

После установки (Windows)

Возможно, потребуется сначала установить npcap для захвата пакетов в Windows.

Использование

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
Скачать инструмент