开源工具推荐:轻量终端网络监控工具 RustNet

解决了什么痛点?

传统网络排查工具往往顾此失彼,RustNet 旨在解决以下核心问题:

传统工具 存在的短板
netstat / ss 只能看到连接,无法关联到具体进程
tcpdump / Wireshark 抓包数据难绑定应用,远程服务器使用门槛高
X11 转发 配置极其繁琐,体验差

核心诉求:快速定位「哪个进程在和谁通信、用的什么协议、占了多少带宽」。


项目简介

RustNet 是一款用 Rust 编写的跨平台终端 UI(TUI)网络监控工具。

  • 极简体积:不足 3MB
  • 广泛兼容:支持 Linux / macOS / Windows / FreeBSD
  • 技术栈:ratatui 构建界面、libpcap 抓包,Linux 下默认启用 eBPF 加速
  • 社区热度:GitHub 收获 3.2k Star,已发布 20 个版本

核心功能亮点

  • 精准溯源:直接将 TCP/UDP/QUIC 连接映射到对应进程。
  • 深度识别:自动识别 HTTP / DNS / SSH / QUIC 等常见协议。
  • 状态可视:颜色标记连接活跃度(白=活跃、黄=老化、红=超时),支持查看历史连接。
  • 高效筛选:Vim 风格过滤(支持 port:/process:/sni: 等字段),支持快速排序。
  • 附加能力:内置本地 GeoIP 库(离线查归属地)、进程分组折叠、网卡级统计。

快速安装

各平台安装命令

平台 安装命令
macOS / Linux (Homebrew) brew tap domcyrus/rustnet && brew install rustnet
Ubuntu 25.10+ sudo add-apt-repository ppa:domcyrus/rustnet && sudo apt install rustnet
通用 (Cargo) cargo install rustnet-monitor
Windows (Chocolatey) choco install rustnet (需先装 Npcap)

权限配置

抓包需要权限,推荐以下两种方式之一:

方式一:临时使用(最简单)
sudo rustnet
方式二:永久免 sudo(Linux)
sudo setcap 'cap_net_raw,cap_bpf,cap_perfmon=eip' $(which rustnet)

常用操作

操作类型 命令/快捷键 说明
启动参数 -i eth0 指定监听网卡
--resolve-dns 开启反向 DNS 解析
-r 500 设置刷新间隔(毫秒)
界面交互 / 进入过滤模式(如 process:chrome)
s 切换排序列(找流量大户)
a 开启进程分组视图
i 切换到网卡统计视图
Enter 查看单条连接详情(含 SNI 域名)

适用人群

  • 运维工程师:快速排查服务器流量暴涨原因。
  • 后端开发者:确认服务连接的健康状态与协议合规性。
  • 安全审计:在无图形界面的远程服务器上进行网络诊断。

项目地址:https://github.com/domcyrus/rustnet