NetWatch用户指南:10个标签页逐个精讲,从Dashboard到Egress看懂每一条连接
【免费下载链接】netwatchReal-time network diagnostics in your terminal. One command, zero config, instant visibility.项目地址: https://gitcode.com/gh_mirrors/netwatc/netwatch
NetWatch 是一款开源的终端实时网络诊断工具:一条命令、零配置,就能看清当前机器上的每一条网络连接。安装后只需运行sudo netwatch,即可在终端里浏览 10 个专业标签页——从带宽、延迟、抓包解码,到出站流量治理,全部一目了然。无论你是刚接触网络监控的新手,还是日常排查故障的运维老手,这份指南都能帮你在 10 分钟内看懂屏幕上每一个数字。
🚀 三分钟快速上手
brew install netwatch # macOS / Linux(Windows 用 scoop) sudo netwatch # 以捕获权限启动进入主界面后:
- 按数字键
1~9和0切换 10 个标签页; - 按
?查看所有快捷键; - 按
V在 Full / Lite / Dense 三种视图间循环。
10 个标签页的定义可以在 src/app.rs 的Tab枚举中找到,每个标签页的界面实现在 src/ui/ 目录中。
📋 10个标签页总览
| 数字键 | 标签页 | 你会看到什么 |
|---|---|---|
| 1 | Dashboard | 延迟、吞吐、承载链路、按进程聚合的连接总览 |
| 2 | Connections | 每一个 socket:进程、PID、内核状态、RTT、GeoIP |
| 3 | Interfaces | 网卡地址、MTU、速率、错误与丢包 |
| 4 | Packets | 实时抓包、TLS 解密、JA4 指纹、PCAP 导出 |
| 5 | Stats | 协议构成与握手时延直方图 |
| 6 | Topology | 本机、网关、DNS、Top 主机、traceroute |
| 7 | Timeline | 按 TCP 状态统计的连接时间线,附带告警 |
| 8 | Processes | 每个进程占用的带宽 |
| 9 | Diagnose | 问题 → 原因 → 修复 → 验证闭环 |
| 0 | Egress | 学到的出站目的地、策略对照与漂移 |
1️⃣ Dashboard:看网先看总览
Dashboard(src/ui/dashboard.rs)是第一屏,设计思路是"先判断正不正常,再看细节":
- KPI 瓦片:延迟、吞吐等核心指标,且每个瓦片会显示学习到的基线(
base · σ · N.Nσ)——告诉你这个数字不是"涨了没",而是"偏了多少倍"; - 镜像吞吐图:下载朝上、上传朝下,一眼看出方向不对称;
- 按进程聚合的连接表:谁在占流量,滚动小图线展示速率趋势。
2️⃣ Connections:每一条连接都有身份
按2进入 Connections(src/ui/connections.rs),这是回答"这个 IP 是谁"的核心标签页。每个 socket 一行,包含进程名、PID、内核 TCP 状态、RTT、重传次数、GeoIP 归属地。支持点击表头排序,也支持按进程、协议等维度聚合。怀疑有陌生连接时,这里就是第一落点。
3️⃣ Interfaces:网卡健康度检查
Interfaces(src/ui/interfaces.rs)列出每张网卡的地址、MTU、实时收发包速率、错误与丢包计数。网卡频繁 up/down、错误计数上涨,往往是"网速变慢"的物理层原因。
4️⃣ Packets:终端里的"轻量Wireshark"
这是功能最重的标签页(src/ui/packets.rs),在 Packets 页按c开始捕获,按/输入显示过滤器:
- L7 协议解码:TLS、QUIC、HTTP、DNS、SSH 等 15 种协议的真实解码(见 src/dpi/),而不是简单的端口标签;
- TLS 1.3 / 1.2 解密:客户端导出密钥后(
SSLKEYLOGFILE机制),密文记录可内联渲染明文; - JA4 指纹:每个 TLS ClientHello 都会生成 JA4 指纹,可按指纹反查同一软件栈的所有流;
- PCAP 导出:随时把现场存成
.pcap交给 Wireshark 深挖。
过滤语法、解密与 JA4 的完整用法见 docs/REFERENCE.md。
5️⃣ Stats:流量的"体检报告"
Stats(src/ui/stats.rs)回答两个宏观问题:流量由哪些协议构成(协议占比),以及TCP 握手各阶段花多长时间(握手时延直方图)。当延迟"感觉变高了"但抓不到具体包时,直方图的偏移往往是最先暴露问题的信号。
6️⃣ Topology:一张图看懂路径
Topology(src/ui/topology.rs)把网络抽象成一条清晰的路径:本机 → 网关 → DNS → Top 主机,并集成 traceroute 逐跳延迟。排查"到某个服务变慢"时,它能直接告诉你卡在哪一跳。
7️⃣ Timeline:连接状态的"心电图"
Timeline(src/ui/timeline.rs)按内核 TCP 状态(ESTABLISHED、SYN-SENT、CLOSE_WAIT……)统计连接数量随时间的变化,并把网卡 up/down、IP 变更等事件叠加为告警。某条状态曲线突然堆积,就是网络抖动的可视化证据。
8️⃣ Processes:谁在偷偷跑流量
Processes(src/ui/processes.rs)按进程聚合带宽。"哪台进程在偷偷跑流量?"——答案和实时速率都在这一屏。与 Connections 表互相印证,一个看单条连接,一个看进程汇总。
9️⃣ Diagnose:从发现到闭环的诊断引擎
Diagnose 是 NetWatch 最有特色的标签页(src/diagnose/、docs/DIAGNOSE.md)。它不是一次性检查,而是一个持续闭环:
- 学习基线:持续记录指标的正常分布;
- 开单:基线被打破时自动打开 issue,并给出按可能性排序的原因;
- 修复:你手工执行修复后,点击"我已完成";
- 验证关闭:修复生效后自动验证并关闭 issue,同时可导出
report.md报告。
🔟 Egress:出站流量的"守门员"
Egress(src/ui/egress.rs)以树形结构展示每个进程学到的出站目的地(SNI / ASN / 端口)。当加载了egress-policy.toml白名单后,每个目的地都会给出裁决,偏离声明的"漂移"会被标出。它只做只读告警,绝不拦截——告诉你"谁在联系白名单外的地方"。
🛠️ 附赠:两种视图 + 设置
屏幕只有 80x24?--lite启动 Lite 视图,专为 SSH 会话和 tmux 分屏设计;终端够大(130x44 以上)时按V切到Dense 视图——四个窗格、盲文吞吐图、内核 TCP 细节,信息密度拉满。
主题、刷新率等偏好都在 Settings 页调整,按?打开 Help 页可随时查询全部快捷键。
⌨️ 高频快捷键速查
| 按键 | 作用 |
|---|---|
1~9、0 | 切换 10 个标签页 |
V | 循环 Full / Lite / Dense 视图 |
c | Packets 页开始/停止捕获 |
/ | Packets 页打开显示过滤器 |
? | 显示所有快捷键 |
完整键位、显示过滤器语法与配置项见 docs/REFERENCE.md。
📚 延伸文档
- 功能参考(键位/过滤器/解码器/主题):docs/REFERENCE.md
- Diagnose 引擎详解:docs/DIAGNOSE.md
- 能力矩阵(各平台差异):docs/CAPABILITIES.md
- 架构与源码地图:docs/WIKI.md
- 设计思路:docs/DESIGN-0.30.md
一条命令启动,十个标签页把"网络到底发生了什么"讲得明明白白——这正是 NetWatch 把网络诊断装进终端的意义所在。
【免费下载链接】netwatchReal-time network diagnostics in your terminal. One command, zero config, instant visibility.项目地址: https://gitcode.com/gh_mirrors/netwatc/netwatch
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考