ProcessNetMonitor v1.10.0 — ETW 内核级进程流量采集
本版本将进程级流量采集升级为 ETW 内核级方案:按进程精确统计 TCP+UDP 字节(TUN 代理环境下与 AppNetworkCounter 对齐),并重构了刷新与提示体系。
新增
- ETW 内核采集后端:优先自建 NT Kernel Logger 会话(缓冲 120×256KB,大流量不丢事件);被其他工具占用时自动附加并提示
- TUN 虚拟网卡过滤:saddr/daddr 任一端落在虚拟网卡子网即过滤,代理模式下不再重复计数(chrome 等应用侧 TUN 流量归属 mihomo,与 ANC 一致)
- 高频刷新:自建 500ms 定时器(插件设置可调 100/250/500/1000ms),滚动 1 秒速度窗口与 TM 主面板同拍
- 附加模式提示:悬浮窗黄色警告行 + tooltip 警告,显示疑似占用者(AppNetworkCounter 等)
- 进程永不消失:出现过流量的进程永久保留在列表(速度显示 0)
- 悬浮窗固定宽度(长进程名省略号)、hover 触发排除设置对话框、拖动主悬浮窗时跟随
修复
- 详情窗口「无活跃进程」闪空:ETW 空数据自动回退 legacy
- 历史流量双源重复记录导致虚高(mihomo 上传 4MB/s 飞涨):历史只记录 ETW 合并后数据
- 启动/切换瞬间 2^64 级速度虚高:首次采样只设基线 + 差值下溢保护
- 经典 provider 地址布局与 TDH schema 相反导致的过滤失效
- 共享 ETW 会话(ANC 占用)缓冲溢出丢事件(数值比 TM 网卡差 2~5 倍)
- 无法获取镜像路径的进程(System、Registry、受保护进程等)显示真实进程名(Toolhelp 兑底),不再显示
<pid> - 回退警告文案调整
版本说明(2 个产物)
| 文件 | 说明 |
|---|---|
ProcessNetMonitor.dll
| x64(64 位 TrafficMonitor 使用) |
ProcessNetMonitor_x86.dll
| x86(32 位 TrafficMonitor 使用) |
选择与你的 TrafficMonitor 主程序位数一致的 DLL,放入 TM 的 plugins/ 目录(或插件管理界面安装)。
安装前提
- Windows 10/11(推荐 64 位)
- TrafficMonitor 主程序(插件版)
- 插件以管理员权限运行时可启用 ETW 内核采集(更准);普通权限自动回退传统采集并提示
已知说明
- TUN 代理模式下,走代理的应用流量归属代理进程(如 mihomo),应用侧 TUN 重复流量不显示(与 AppNetworkCounter 一致)
- 代理进程与应用之间的虚拟转发流量(TUN 用户态)无法通过内核 ETW 观测,不显示
- 与 AppNetworkCounter 等 ETW 工具共用时:先启动的一方占用 NT Kernel Logger;后启动的 TM 进入附加模式(悬浮窗有黄色警告提示)
- ETW 占用者检测为尽力而为(Windows 无官方 API,普通权限下为已知工具名单识别)
- 历史流量如有旧版本残留的虚高数据,请在详情窗口点击「清除历史」重置