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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/grigio/network-monitor
Утилиты общего назначенияСниффинг и анализ пакетовКартирование сетиСбор информацииКонфиденциальность
GitHubgrigio/network-monitor

network-monitor

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

Репозиторий
28452419 ч 55 мин назадПроверено Kitploit

Популярное

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

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

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

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

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

Network Monitor

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

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

rust dependency status

Возможности

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

Требования

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

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

sudo apt update
sudo apt install libgtk-4-dev libadwaita-1-dev

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

sudo dnf install gtk4-devel libadwaita-devel

Установка

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

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

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

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

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

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

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

cargo build --release
./target/release/network-monitor

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

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

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

cargo build --release --bin nmt
./target/release/nmt

Удаление

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

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

./scripts/uninstall.sh

Общесистемное удаление (требуется sudo):

sudo ./scripts/uninstall.sh

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

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

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

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

cargo run

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

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

Действия со строками

  • Левый клик: выбрать строку (также отображается в нижней строке состояния)
  • Правый клик: открыть контекстное меню с Copy Value, Copy Command и Kill "process" (PID), которое спрашивает, выполнить Terminate (SIGTERM) или Force Kill (SIGKILL)
  • Delete: завершить текущую выделенную строку (тот же диалог подтверждения)
  • Ctrl+C: скопировать содержимое ячейки
  • Кнопка Refresh в заголовке окна: обновить немедленно (список также обновляется каждые 3 с)

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

nmt tui of network-monitor

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

cargo run --bin nmt

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

Управление с клавиатуры:

  • q - Выйти из приложения
  • r - Переключить разрешение имён хостов
  • R - Обновить соединения вручную
  • a - Переключить автообновление (интервал 2 секунды)
  • ↑/↓ - Навигация по соединениям
  • ←/→ - Горизонтальная прокрутка таблицы
  • k / правый клик - Открыть меню завершения для строки (Terminate / Force Kill / Cancel)
  • 1-8 - Сортировка по столбцам (Process(ID), Protocol, Source, Destination, Status, TX, RX, Path)

Мышь: левый клик выбирает строку, правый клик выбирает её и открывает меню завершения.

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

  • Мониторинг соединений в реальном времени с автообновлением
  • Сортируемые столбцы с визуальными индикаторами
  • Горизонтальная прокрутка для широких таблиц
  • Умный подбор ширины столбцов - последний столбец занимает всю оставшуюся ширину
  • Цветовая кодировка протоколов (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 по умолчанию. Он может захватывать короткоживущие соединения, которые опрос может пропустить.

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

rustup toolchain install nightly
cargo install bpf-linker

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

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