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, отображающий активные подключения с живой статистикой ввода/вывода в современном графическом интерфейсе.

Репозиторий
284592 дней назадПроверено 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.

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