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

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

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

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

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

Категории

Все категории
Loading categories
network-monitor — Инструмент мониторинга сетевых подключений в реальном времени, созданный на Rust и GTK4, отображающий активные подключения с живой статистикой ввода/вывода в современном графическом интерфейсе. | Kitploit
Инструменты/GitHubGitHub/grigio/network-monitor
Утилиты общего назначенияСниффинг и анализ пакетовКартирование сетиСбор информацииКонфиденциальность
GitHubgrigio/network-monitor

network-monitor

Инструмент мониторинга сетевых подключений в реальном времени, созданный на Rust и GTK4, отображающий активные подключения с живой статистикой ввода/вывода в современном графическом интерфейсе.

Репозиторий
28455 дней назадПроверено Kitploit

Популярное

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

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

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

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

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

Сетевой монитор

Демонстрация Network Monitor на рабочем столе GNOME в Linux

Инструмент мониторинга сетевых подключений в реальном времени, написанный на Rust и GTK4, отображающий активные подключения с живой статистикой ввода/вывода в современном графическом интерфейсе.

rust dependency status

Возможности

  • Мониторинг в реальном времени: непрерывно отслеживает активные сетевые подключения
  • Статистика ввода/вывода: показывает текущие скорости загрузки и выгрузки для каждого подключения
  • Идентификация процессов: отображает программу и PID, связанные с каждым подключением
  • Современный интерфейс GTK4: чистый, отзывчивый графический интерфейс в стиле Libadwaita
  • Терминальный интерфейс (TUI): интерактивный терминальный интерфейс с теми же возможностями мониторинга
  • Разрешение адресов: упрощает распространённые адреса (localhost, any, mDNS)
  • Фильтрация подключений: отфильтровывает подключения localhost для более чистой выдачи
  • Интеграция с GNOME: корректная поддержка класса WM для закрепления в доке и интеграции с рабочим столом
  • Двойная установка: поддерживает установку как для текущего пользователя, так и для всей системы
  • Надёжная обработка ошибок: всестороннее восстановление после ошибок с понятными инструкциями по настройке
  • Оптимизация производительности: кэширование процессов и макета для повышения отзывчивости

Требования

  • Rust 1.70+ (издание 2021)
  • Библиотеки разработки GTK4
  • Библиотеки разработки Libadwaita
  • Система Linux с файловой системой /proc
  • Linux 5.8+ (для детальных возможностей eBPF)
  • Nightly Rust и bpf-linker (для компиляции eBPF)

Установка на Ubuntu/Debian:

root@kitploit:~
sudo apt update
sudo apt install libgtk-4-dev libadwaita-1-dev

Установка на Fedora:

root@kitploit:~
sudo dnf install gtk4-devel libadwaita-devel

Установка

Способ 1: Установка из исходников с интеграцией с рабочим столом

  1. Клонируйте репозиторий:
root@kitploit:~
git clone <repository-url>
cd network-monitor
  1. Установите локально (sudo не требуется):
root@kitploit:~
./scripts/install.sh
  1. Или установите для всей системы (требуется sudo):
root@kitploit:~
sudo ./scripts/install.sh

Скрипт установки:

  • Собирает оба бинарных файла — GTK4 и TUI (debug для локальной установки, release для системной)
  • Устанавливает бинарные файлы в ~/.local/bin/ (локально) или /usr/local/bin/ (системно)
  • Устанавливает desktop-файл с корректным классом WM для закрепления в доке GNOME
  • Устанавливает иконки в соответствующие каталоги иконок
  • Обновляет кэш иконок и базу данных desktop
  • Обеспечивает возможность закрепления приложения в доке/панели GNOME

Способ 2: Сборка и запуск напрямую

  1. Клонируйте репозиторий:
root@kitploit:~
git clone <repository-url>
cd network-monitor
  1. Соберите и запустите:
root@kitploit:~
cargo run

Или соберите в режиме release:

root@kitploit:~
cargo build --release
./target/release/network-monitor

Способ 3: Сборка и запуск TUI-версии

  1. Клонируйте репозиторий:
root@kitploit:~
git clone <repository-url>
cd network-monitor
  1. Соберите и запустите TUI:
root@kitploit:~
cargo build --bin nmt
./target/debug/nmt

Или соберите в режиме release:

root@kitploit:~
cargo build --release --bin nmt
./target/release/nmt

Удаление

Удаление установленной версии

Удаление локальной установки:

root@kitploit:~
./scripts/uninstall.sh

Удаление системной установки (требуется sudo):

root@kitploit:~
sudo ./scripts/uninstall.sh

Скрипт удаления удалит бинарный файл, desktop-файл и иконки из соответствующих мест и обновит все соответствующие кэши.

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

Графический интерфейс GTK4

Запустите приложение мониторинга сети:

root@kitploit:~
cargo run

Приложение откроет окно GTK4, отображающее:

  • Процесс(ID): имя процесса и PID с точным сопоставлением сокет-процесс
  • Протокол: протокол TCP/UDP
  • Источник: локальная конечная точка (преобразованная в читаемый формат)
  • Назначение: удалённая конечная точка (преобразованная в читаемый формат)
  • Статус: состояние подключения (ESTABLISHED, LISTEN и т. д.)
  • TX: скорость выгрузки, рассчитанная на основе статистики ввода/вывода процесса
  • RX: скорость загрузки, рассчитанная на основе статистики ввода/вывода процесса
  • Путь: полный путь к команде и аргументы из /proc/[pid]/cmdline

Терминальный интерфейс (TUI)

терминальный интерфейс nmt утилиты network-monitor

Запустите терминальный интерфейс:

root@kitploit:~
cargo run --bin nmt

TUI предоставляет те же возможности мониторинга в интерактивном терминальном интерфейсе:

Основные управляющие клавиши:

  • q — выйти из приложения
  • r — вручную обновить подключения
  • a — переключить автообновление (интервал 2 секунды)
  • ↑/↓ — перемещаться по подключениям
  • ←/→ — прокручивать таблицу по горизонтали
  • 1-8 — сортировать по столбцам (Процесс(ID), Протокол, Источник, Назначение, Статус, TX, RX, Путь)

Возможности:

  • Мониторинг подключений в реальном времени с автообновлением
  • Сортируемые столбцы с визуальными индикаторами
  • Горизонтальная прокрутка для широких таблиц
  • Умная ширина столбцов — последний столбец занимает всю оставшуюся ширину
  • Цветовое кодирование протоколов (TCP/TCP6 зелёным, UDP/UDP6 жёлтым)
  • Подсветка активных подключений
  • Информация о процессе и PID
  • Отображение текущих скоростей ввода/вывода
  • Тот же порядок столбцов, что и в GTK4-версии, для согласованности

Разрешение адресов

Распространённые адреса упрощаются для удобства чтения:

  • 0.0.0.0:* или *:* → ANY
  • 127.0.0.1:* или [::1]:* → LOCALHOST
  • 224.0.0.251:* → MDNS

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

eBPF-бэкенд (управляемый событиями)

Приложение использует kprobes на уровне ядра (tcp_v4_connect, tcp_v6_connect, tcp_close, inet_csk_accept) вместо опроса /proc/net. Это обеспечивает:

  • Управление событиями: доставка событий за доли миллисекунды, без нагрузки от опроса (~1–3% CPU)
  • Прямой PID: захватывается в точке срабатывания через bpf_get_current_pid_tgid(), без сканирования inode
  • Короткоживущие подключения: не пропускаются между интервалами опроса

Режим eBPF

Бэкенд eBPF обеспечивает управляемый событиями мониторинг подключений с меньшей нагрузкой и событиями в реальном времени по сравнению с подходом опроса /proc/net по умолчанию. Он может захватывать короткоживущие подключения, которые опрос может пропустить.

Предварительные требования:

root@kitploit:~
rustup toolchain install nightly
cargo install bpf-linker

Сборка и запуск:

root@kitploit:~
cargo build

Запуск от обычного пользователя (требуется ядро 5.8+):

Выдайте бинарному файлу необходимые capabilities Linux один раз:

root@kitploit:~
sudo setcap cap_bpf,cap_net_admin,cap_perfmon+ep target/debug/network-monitor
./target/debug/network-monitor

Или для TUI-версии:

root@kitploit:~
sudo setcap cap_bpf,cap_net_admin,cap_perfmon+ep target/debug/nmt
./target/debug/nmt

Для release-сборок скорректируйте путь соответствующим образом:

root@kitploit:~
sudo setcap cap_bpf,cap_net_admin,cap_perfmon+ep target/release/network-monitor

Приложение завершится с сообщением о настройке, если eBPF недоступен (отсутствуют необходимые capabilities или ядро не поддерживается).

Архитектура

  • GTK4: современный кроссплатформенный GUI-фреймворк
  • Libadwaita: компоненты интерфейса в стиле GNOME
  • Tokio: асинхронная среда выполнения для параллельных операций
  • Aya + eBPF: трассировка подключений на уровне ядра с помощью kprobes для событий в реальном времени
  • Прямой PID: идентификация процесса через bpf_get_current_pid_tgid() в точке срабатывания
  • Системные вызовы: прямое чтение /proc/[pid]/io для статистики ввода/вывода
  • Обработка ошибок: всеобъемлющие типы ошибок с корректным восстановлением с помощью thiserror
  • Кэширование производительности: кэширование макета интерфейса для оптимальной производительности

Пакеты Linux

Packaging status

Пожертвования

Если вы считаете этот проект полезным, пожалуйста, рассмотрите возможность пожертвования для поддержки его разработки.

  • Monero: 88LyqYXn4LdCVDtPWKuton9hJwbo8ZduNEGuARHGdeSJ79BBYWGpMQR8VGWxGDKtTLLM6E9MJm8RvW9VMUgCcSXu19L9FSv
  • Bitcoin: bc1q6mh77hfv8x8pa0clzskw6ndysujmr78j6se025

Лицензия

Этот проект является открытым исходным кодом. Подробности см. в файле LICENSE.

Скачать инструмент