Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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 统计信息。

查看仓库
28452417小时31分前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

网络监视器

Linux 上 GNOME 桌面中的网络监视器演示

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

rust dependency status

功能特性

  • 实时监控:持续监控活动的网络连接
  • I/O 统计:显示每个连接的实时上传/下载速率
  • 进程识别:显示与每个连接关联的程序和 PID
  • 进程操作:右键单击某一行可复制其值/命令,或终止拥有该连接的进程 (终止或强制终止,需确认)
  • 持久选择:选中的行在刷新后保持高亮,并显示在 状态栏中
  • 现代 GTK4 界面:简洁、响应式的图形界面,采用 Libadwaita 样式
  • 终端界面(TUI):具有相同监控能力的交互式终端界面
  • 地址解析:简化常见地址(localhost、any、mDNS)
  • 连接过滤:过滤掉 localhost 连接以获得更清晰的输出
  • GNOME 集成:支持正确的 WM class,便于停靠栏固定和桌面集成
  • 双重安装:同时支持用户本地和系统级安装
  • 健壮的错误处理:全面的错误恢复机制,并提供清晰的设置指导
  • 性能优化:进程缓存和布局缓存以提升响应速度

环境要求

  • Rust 1.70+(2021 edition)
  • GTK4 开发库
  • Libadwaita 开发库
  • 具有 /proc 文件系统的 Linux 系统
  • 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/(系统级)
  • 安装带有正确 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

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

使用方法

GTK4 图形界面

启动网络监视器应用程序:

cargo run

应用程序将打开一个 GTK4 窗口,显示:

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

行操作

  • 左键单击:选择一行(同时显示在底部状态栏中)
  • 右键单击:打开上下文菜单,包含 复制值、复制命令 和 终止 "进程" (PID),会询问是终止(SIGTERM)还是强制终止(SIGKILL)
  • Delete:终止当前选中的行(相同的确认对话框)
  • Ctrl+C:复制单元格内容
  • 标题栏中的刷新按钮:立即更新(列表也会每 3 秒自动刷新)

终端界面(TUI)

network-monitor 的 nmt tui

启动终端界面:

cargo run --bin nmt

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

按键控制:

  • q - 退出应用程序
  • r - 切换主机名解析
  • R - 手动刷新连接
  • a - 切换自动刷新(2 秒间隔)
  • ↑/↓ - 在连接之间导航
  • ←/→ - 水平滚动表格
  • k / 右键单击 - 打开某一行的终止菜单(终止 / 强制终止 / 取消)
  • 1-8 - 按列排序(Process(ID)、Protocol、Source、Destination、Status、TX、RX、Path)

鼠标:左键单击选择一行,右键单击选择该行并打开终止菜单。

功能特性:

  • 带自动刷新的实时连接监控
  • 带视觉指示器的可排序列
  • 宽表格的水平滚动
  • 智能列宽调整 - 最后一列占据全部剩余宽度
  • 颜色编码的协议(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 后端提供事件驱动的连接监控,开销更低且 具有实时事件。它可以捕获轮询可能遗漏的短生命周期连接。

前提条件:

rustup toolchain install nightly
cargo install bpf-linker

构建并运行:

cargo build

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

为二进制文件授予所需的 Linux 能力(只需一次):

sudo setcap cap_bpf,cap_net_admin,cap_perfmon+ep target/debug/network-monitor
./target/debug/network-monitor

或对于 TUI 版本:

sudo setcap cap_bpf,cap_net_admin,cap_perfmon+ep target/debug/nmt
./target/debug/nmt

对于 release 构建,请相应调整路径:

sudo setcap cap_bpf,cap_net_admin,cap_perfmon+ep target/release/network-monitor

如果 eBPF 不可用(缺少能力或内核不支持),应用将退出并显示设置提示信息。

架构

  • 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 文件。

下载工具