Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
network-monitor — 一款使用 Rust 和 GTK4 构建的实时网络连接监控工具,在现代图形界面中显示活动连接及实时 I/O 统计信息。 | Kitploit
工具/GitHubGitHub/grigio/network-monitor
通用工具数据包嗅探与分析网络映射信息收集隐私保护
GitHubgrigio/network-monitor

network-monitor

一款使用 Rust 和 GTK4 构建的实时网络连接监控工具,在现代图形界面中显示活动连接及实时 I/O 统计信息。

查看仓库
28455天前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

网络监视器

Linux 上 GNOME 桌面中的 Network Monitor 演示

一款使用 Rust 和 GTK4 构建的实时网络连接监控工具,可在现代图形界面中显示活动连接及其实时 I/O 统计信息。

rust dependency status

功能特性

  • 实时监控:持续监控活动网络连接
  • I/O 统计:显示每个连接的实时上传/下载速率
  • 进程识别:显示与每个连接关联的程序和 PID
  • 现代 GTK4 界面:采用 Libadwaita 风格的简洁、响应式图形界面
  • 终端界面(TUI):提供相同监控能力的交互式终端界面
  • 地址解析:简化常见地址(localhost、any、mDNS)
  • 连接过滤:过滤掉 localhost 连接,以获得更清晰的输出
  • GNOME 集成:提供正确的 WM class 支持,便于固定到 Dock 和桌面集成
  • 双重安装:同时支持用户本地和系统级安装
  • 健壮的错误处理:全面的错误恢复能力,并提供清晰的设置指引
  • 性能优化:通过进程缓存和布局缓存提升响应速度

系统要求

  • Rust 1.70+(2021 edition)
  • GTK4 开发库
  • Libadwaita 开发库
  • 具有 /proc 文件系统的 Linux 系统
  • 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. 克隆仓库:
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/(系统级)
  • 安装带有正确 WM class 的桌面文件,以支持 GNOME Dock 固定
  • 将图标安装到相应的图标目录
  • 更新图标缓存和桌面数据库
  • 确保应用可以被固定到 GNOME Dock/仪表盘

方法二:直接构建并运行

  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

方法三:构建并运行 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

卸载脚本将从相应位置移除二进制文件、桌面文件和图标,并更新所有相关缓存。

使用方法

GTK4 图形界面

启动网络监控应用:

root@kitploit:~
cargo run

应用将打开一个 GTK4 窗口,显示以下内容:

  • 进程(ID):进程名称和 PID,具有准确的 socket 到进程映射
  • 协议:TCP/UDP 协议
  • 源地址:本地端点(已解析为可读格式)
  • 目的地址:远程端点(已解析为可读格式)
  • 状态:连接状态(ESTABLISHED、LISTEN 等)
  • TX:根据进程 I/O 统计计算的上传速率
  • RX:根据进程 I/O 统计计算的下载速率
  • 路径:来自 /proc/[pid]/cmdline 的完整命令路径和参数

终端界面(TUI)

network-monitor 的 nmt TUI

启动终端界面:

root@kitploit:~
cargo run --bin nmt

TUI 在交互式终端界面中提供相同的监控能力:

按键控制:

  • q - 退出应用
  • r - 手动刷新连接
  • a - 切换自动刷新(2 秒间隔)
  • ↑/↓ - 在连接之间导航
  • ←/→ - 水平滚动表格
  • 1-8 - 按列排序(进程(ID)、协议、源地址、目的地址、状态、TX、RX、路径)

功能:

  • 支持自动刷新的实时连接监控
  • 可排序的列,带有视觉指示器
  • 针对宽表格的水平滚动
  • 智能列宽 - 最后一列获得全部剩余宽度
  • 协议颜色标识(TCP/TCP6 为绿色,UDP/UDP6 为黄色)
  • 活动连接高亮显示
  • 进程和 PID 信息
  • 实时 I/O 速率显示
  • 与 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 模式

与默认的 /proc/net 轮询方式相比,eBPF 后端提供事件驱动的连接监控,开销更低且事件实时。 它可以捕获轮询可能遗漏的短生命周期连接。

前置条件:

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

构建并运行:

root@kitploit:~
cargo build

以普通用户身份运行(需要内核 5.8+):

为二进制文件一次性授予所需 Linux capabilities:

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 风格 UI 组件
  • Tokio:用于并发操作的异步运行时
  • Aya + eBPF:通过 kprobes 进行内核级连接追踪以获取实时事件
  • 直接获取 PID:在探针点通过 bpf_get_current_pid_tgid() 进行进程识别
  • 系统调用:直接读取 /proc/[pid]/io 获取 I/O 统计信息
  • 错误处理:使用 thiserror 提供全面的错误类型与优雅恢复
  • 性能缓存:UI 布局缓存以实现最佳性能

Linux 软件包

Packaging status

捐赠

如果您觉得这个项目有用,请考虑提供捐赠以支持其开发。

  • Monero:88LyqYXn4LdCVDtPWKuton9hJwbo8ZduNEGuARHGdeSJ79BBYWGpMQR8VGWxGDKtTLLM6E9MJm8RvW9VMUgCcSXu19L9FSv
  • Bitcoin:bc1q6mh77hfv8x8pa0clzskw6ndysujmr78j6se025

许可证

本项目是开源的。有关详细信息,请参阅 LICENSE 文件。

下载工具