网络监控 · NetMonitor
Linux 上每一次网络连接,都看得清是谁发起的、又能拦得住。
一款面向安全与运维的 Linux 网络活动监控与拦截工具。
在内核中实时捕获每一个连接与数据流,给出完整的「进程 ↔ 连接」对应关系,并能在出站连接发出之前当场阻断。




它解决什么问题
服务器在向陌生 IP 外连,是哪个进程干的?哪个程序在偷偷上报数据、回连 C2、做端口扫描?传统的 netstat、ss 只能看到「此刻有哪些连接」,却答不出这条连接到底属于哪个进程;抓包工具能看流量,却难以和进程、用户对上号,更无法在连接建立前把它拦下。
网络监控把探针挂进内核网络路径,在连接发起的那一刻就捕获事件,并直接附上完整的进程上下文(PID、父进程、用户、进程名)——不再靠猜。需要时,还能让内核在 SYN 包发出之前就拒绝这次外连。
典型场景:可疑外连与数据外泄排查、恶意软件 / C2 回连分析、出站访问管控、连接行为审计、运维诊断、安全教学演示。
核心能力
完整五元组 + 进程上下文
每一条事件都同时带有网络五元组(协议、源/目的地址与端口)和发起它的进程信息(PID、PPID、UID、进程名)——一眼看清「谁、连到哪、用什么协议」。
丰富的网络事件
覆盖 TCP / UDP / ICMP 的关键行为,而不仅仅是「建立连接」:
| 类别 |
关注的行为 |
| TCP 连接 |
发起连接、接受连接、关闭、连接状态变化 |
| TCP 异常 |
重传、连接重置(RST 收/发) |
| 数据收发 |
TCP / UDP 收发、ICMP 收发 |
| 套接字操作 |
创建、绑定、监听、关闭、关停、选项设置 |
| 拦截 |
被规则阻断的连接 |
???? 不只是看见,更能拦下
block 规则被推送进内核:内核会在 SYN 包发出之前就拒绝该 connect 调用——从源头掐断外连,而不是等连上之后再补救。出站拦截默认仅观测、需显式开启执行,避免误伤。
精准的规则引擎
按进程名 + PID + 用户 + 协议 + 目标网段(CIDR)+ 端口范围灵活组合匹配,每条规则可设为三种动作:
- 包含 —— 只看关心的连接;
- 排除 —— 过滤噪声;
- 阻断 —— 从内核源头拒绝外连。
ProcMon 风格的实时界面
借鉴 Sysinternals ProcMon 的经典体验:多列实时事件表格、工具栏快速过滤、右键从观测到的连接一键生成规则、状态栏实时显示速率与拦截/丢弃计数。明/暗主题与中英双语随手切换。
守护服务 + 远程监控
监控服务常驻后台,图形界面只是它的众多客户端之一——可在本机查看,也能通过 SSH 远程接入观察远端主机的网络活动。
便于归档与分析
事件可导出为 CSV / JSON,便于报表、电子表格分析或接入 SIEM 等既有安全流程。
???? 省心的使用体验
- 图形界面以普通用户身份即可启动并实时观察,无需每次提权;
- 全局暂停 / 恢复采集;
- 规则改动即时生效并自动持久化,重启不丢;
- 提供 systemd 服务集成与开机自启,适合长期部署。
技术实现(简述)
工具采用内核态采集 + 守护服务 + 图形前端的分层架构:
- 内核态 —— 基于 Linux 的 eBPF 技术,在内核网络路径与 cgroup 钩子上安全挂载探针,于连接发起的当下捕获事件并附带进程上下文。出站拦截通过 cgroup 连接钩子在内核内直接拒绝——这是连接真正建立前的源头管控,而非事后切断。程序运行在内核沙箱内,经验证器校验,开销低、不改动内核、无需额外内核模块。
- 跨内核兼容 —— 基于 CO-RE(Compile Once – Run Everywhere),探针在加载时自动适配目标内核,单一二进制即可在各现代内核上运行。
- 守护服务 —— 以 C + libbpf 实现,负责加载程序、管理规则、聚合事件,并通过本地通道向多个客户端发布事件流;具备服务化、日志集成、规则持久化、有界内存等生产级特性。
- 图形前端 —— 采用 Rust + GTK4 原生开发的瘦客户端(不加载内核程序、无需 root)。Rust 带来内存安全与高性能,GTK4 提供贴合 Linux 桌面的原生体验;无需 Python / Qt 等额外运行时,响应流畅、占用轻量。
- 规则匹配 —— 在内核内完成,命中即决策,事件投递与拦截均为低延迟。
上述为面向使用者的概述;更详尽的工程细节随源码一同提供。
为什么选它
|
网络监控 |
netstat / ss / 抓包工具 |
| 进程归属 |
✅ 每条连接直连发起进程 |
难以对应 / 仅快照 |
| 介入时机 |
连接发起当下 |
事后查看 |
| 主动拦截 |
✅ SYN 发出前从内核拒绝 |
❌ |
| 事件维度 |
连接/收发/异常/套接字全覆盖 |
受限 |
| 实时可视化 |
✅ ProcMon 风格界面 |
❌ |
| 远程监控 |
✅ 守护服务多客户端 |
— |
系统要求
- 较新的 Linux 系统(内核支持 BTF 与 cgroup v2,主流发行版默认满足)
- 较新的 Linux 桌面环境(X11 或 Wayland 均可)
- 监控服务需以管理员权限运行;图形界面普通用户即可观察
⚠️ 使用须知
本工具具备内核级出站连接拦截能力,错误的拦截规则可能阻断正常网络访问、影响业务连通性。请仅在获得授权的、可信的主机上使用,并务必在正式启用拦截规则前于非生产环境充分验证。它面向安全监控与运维诊断等合法用途。
网络监控 · NetMonitor · 内核级可观测,连接尽在掌握。
[内核课程]《Windows内核攻防实战》!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。