OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
› OpenWrt 官方网站
Steadier
V2EX  ›  OpenWrt

迫于没钱,买不起 UniFi 全家桶,我做了一个 OpenWrt 下的应用流量识别监控: NetQmon

  •  
  •   Steadier · 2 days ago · 2113 views

    NetQmon 是一个面向 OpenWrt 的开源、自托管网络流量可视化工具。 OpenWrt 上运行 Agent 负责采集网络流量元数据,再发送到 Controller 进行存储、分析和展示。

    项目地址 GitHub: https://github.com/jarvis2f/netqmon

    在线 Demo: https://demo.netqmon.com

    当前支持的功能

    • 按设备查看上传 / 下载流量
    • 查看设备当前正在使用哪些应用
    • 按应用统计流量
    • 3800+流量识别规则
    • 查看访问域名、IP 、ASN 等信息
    • 应用与组织归类
    • Web 管理界面
    • SQLite/ClickHouse 本地存储
    • 自托管部署

    架构

    OpenWrt
       │
       │ eBPF
       ▼
    NetQmon Agent
       │
       │ Flow / Metadata
       ▼
    NetQmon Collector
       │
       ├── Application Classification
       ├── Domain / ASN / Protocol
       └── Traffic Storage
       │
       ▼
    Controller Web UI
    

    Agent 尽量保持轻量,主要分析和存储工作放在 Collector 侧完成,避免给 OpenWrt 本身增加太多压力。 Controller 不使用 Luci 进行构建,UI 就拥有了很大的自由性。

    Controller Web UI 截图

    netqmon controller 截图 netqmon controller 截图 netqmon controller 截图

    Supplement 1  ·  2 days ago
    对 NetQmon 感兴趣的,或者对 OpenWrt 下流量识别监控感兴趣的可以加 TG 群进行交流: https://t.me/netqmon ,加群后可以私聊我获取 Pro 的兑换码
    50 replies  •  2026-10-09 22:45:55 +08:00
    tediorelee
        1
    tediorelee  
       2 days ago
    好看, 收藏一下
    ttkanni
        2
    ttkanni  
       2 days ago
    看了下 demo,非常 nice,已 star.
    aeron
        3
    aeron  
       2 days ago
    不错,部署了一下
    aeron
        4
    aeron  
       2 days ago
    @aeron 默认密码限制能不能改一下,或者允许配置。部署自用的情况下限制至少 12 个字符太长了
    Steadier
        5
    Steadier  
    OP
       2 days ago
    @aeron #4 好的,我优化一下
    Steadier
        6
    Steadier  
    OP
       2 days ago
    @aeron #3 给你一个 Pro 的兑换码:NQMR-jZ9W4RSM2aRCT8QJNvl5KB-D3gwYvwGT ,可以试用一下
    aeron
        7
    aeron  
       2 days ago
    @Steadier #6 感谢,已兑换
    jeanz
        8
    jeanz  
       2 days ago
    想问一下这个和 openclash 共存的话,还能识别到正确的流量吗

    顺带求个码
    Steadier
        9
    Steadier  
    OP
       2 days ago
    @jeanz 透明代理流量会在 Agent 测统计 REDIRECT/TPROXY 的 TCP 、UDP 、IPv4 、IPv6 流量,通过 conntrack 恢复原客户端与原目的地。Pro 兑换码:NQMR-NCz9lQrK8ZTzOpHXuyzoKqm4xRpOLWrm ,欢迎试用
    HeyWeGo
        10
    HeyWeGo  
       2 days ago
    回家之后试一试,家里的 openwrt 已经运行好多年了,不过看介绍应用是只识别流量,不会做后续的管控是哇?如果只是社区版的话,能不能覆盖大部分日常应用场景?
    woshinigege708
        11
    woshinigege708  
       2 days ago
    请问支持 QWRT 吗 内核 22
    liuweisj
        12
    liuweisj  
       2 days ago
    看起来不错,正准备用 codex 撸一个的,来安装一下试试
    Steadier
        13
    Steadier  
    OP
       2 days ago
    @HeyWeGo 后续会做设备、应用流量管控的,这应该是挺多人非常需要的功能。社区版包含了 2600+的识别规则,后续也会不断完善的。Pro 兑换码:NQMR-orV091Z5J40Q7XAsN165RXOO4RHoRHv0 ,欢迎尝试一下
    Steadier
        14
    Steadier  
    OP
       2 days ago
    @woshinigege708 可以尝试安装一下 netqmon-agent ,然后运行 netqmon-agent doctor 看看。
    Steadier
        15
    Steadier  
    OP
       2 days ago
    @liuweisj Pro 兑换码:NQMR-8ZORqtHDQJS1vBmYBBzE6JHB3lF1on6A ,欢迎尝试一下
    jeanz
        16
    jeanz  
       2 days ago
    @Steadier #9 折腾半天终于部署成功了,但是为什么 热门应用-Unknown 流量占比那么高,都没识别出来
    顺带再求个码,应该被别人抢先用了,可以发邮箱: empuMTIxMEBvdXRsb29rLmNvbQ
    jeanz
        17
    jeanz  
       2 days ago
    isbase
        18
    isbase  
    PRO
       2 days ago via iPhone
    openwrt 跑主路由稳吗
    Rookiewan
        19
    Rookiewan  
       2 days ago via iPhone
    安装上了,但是有些是 unknown ,应该是正常的,先体验看看
    woshinigege708
        20
    woshinigege708  
       2 days ago
    @Steadier #14 OP 项目我想起来了,之前想尝试装,可视化还是很厉害,后来不想折腾了,要在一个 VPS 上安装一个主,openwrt 安装一个 agent 进行
    zhcode
        21
    zhcode  
       2 days ago
    我的路由是 Debian13 ,agent 可以编译成 linux 通用二进制吗
    mylofsh
        22
    mylofsh  
       2 days ago via iPhone
    和 luolei 的有啥区别? https://github.com/foru17/neko-master
    Steadier
        23
    Steadier  
    OP
       2 days ago
    @isbase 我的家庭网络当前 OpenWrt 是作为旁路由(单臂路由)使用的,主路由是一台中兴的星云 Max ,因此在我的家庭环境下 NetQmon 的内网流量是统计不到。但是我最近看到有人已经在进行星云 Max 的 OpenWrt 固件适配,因此未来我可能会选择让 OpenWrt 作为我的主路由。
    Steadier
        24
    Steadier  
    OP
       2 days ago
    @zhcode Agent 是使用 Rust 编写的,编译为 linux 的运行版本应该是可行的。
    Steadier
        25
    Steadier  
    OP
       2 days ago
    @mylofsh neko-master 据我观察这个应用应该是针对 Clash / Mihomo / Surge 之类的代理软件的一个流量识别吧。NetQmon 主要是使用 eBPF 进行流量统计的。
    Steadier
        26
    Steadier  
    OP
       2 days ago
    @jeanz #17 兑换码已经通过邮箱进行发送。
    Steadier
        27
    Steadier  
    OP
       2 days ago
    @woshinigege708 #20 分为 Agent 和 Controller 两个分别部署,一个是考虑避免给 OpenWrt 增加过多的资源压力,另外一个是可以不使用 Luci 进行界面的构建,我们就可以使用 NextJS\ShadcnUI 这些现代化的技术构建一个美观一些的流量控制台界面。PS:很喜欢 Unifi 控制台的那种设计
    Steadier
        28
    Steadier  
    OP
       2 days ago
    @jeanz #17
    @Rookiewan

    出现部分 Unknown 是正常的。目前 NetQMon 的识别分为两步:先通过 eBPF 采集流量,再结合 DPI 、DNS 域名、TLS SNI 、IP/ASN 等信息匹配应用规则,并不是简单地通过端口判断。

    由于不会解密 TLS ,如果应用使用了加密 DNS 、隐藏域名、VPN ,或者现有规则没有覆盖,就可能无法识别具体应用,显示为 Unknown 。

    后续也会持续完善识别规则,提高应用识别率。感谢体验!
    hooleystark
        29
    hooleystark  
       2 days ago
    正好前段时间自己也写了一个服务在自己的 openwrt 监控, 不过主要做系统和链接的流量进行监视和控制的,没做识别, 大佬来个码体验下, 多谢了
    Steadier
        30
    Steadier  
    OP
       2 days ago
    @hooleystark 兑换码:NQMR-cyKOG7geyODF2kiXrSCPz7lDfQUiWivn ,欢迎试用
    hooleystark
        31
    hooleystark  
       1 day ago
    @Steadier #30 大佬, 已经被别人使用了,可以在发一个到我的邮箱吗
    aG9vbGV5c3RhcmtAZ21haWwuY29tCg==
    galenzhao
        32
    galenzhao  
       1 day ago
    mipsel 24kc 有问题,提 issue 了,另外,一个 collector 可以接多个 agent 吗?另外能不能来个 pro 码
    yamaidai
        33
    yamaidai  
       1 day ago
    测试了下 看着还不错 给个授权码 邮箱 emhvdWppYW5qb2VAZ21haWwuY29t
    Steadier
        34
    Steadier  
    OP
       1 day ago
    @hooleystark #31 我在后台看这个应该是还没有被使用的,你需要登录 netqmon.com ,然后在/portal 界面进行兑换。
    Steadier
        35
    Steadier  
    OP
       1 day ago
    @galenzhao 感谢试用,我排查一下。兑换码:NQMR-vawlsd8PfmYlkr0ZLkALcSZC7zJROAAH
    Steadier
        36
    Steadier  
    OP
       1 day ago
    @galenzhao 当前还不支持接入多个 agent ,但是在架构上已经设计了,未来会支持的。
    Steadier
        37
    Steadier  
    OP
       1 day ago
    @yamaidai 兑换码已发送至邮箱,感谢试用
    kekeones
        38
    kekeones  
       1 day ago
    看着还不错,给个授权码。邮箱 cGVkaXlAZHVjay5jb20=
    snakelhb
        39
    snakelhb  
       1 day ago
    bmJrYXlsZWx1QGdtYWlsLmNvbQ== 看着不错想体验一下!
    alsa
        40
    alsa  
       1 day ago via Android
    请问能封锁或者控制某些平台的直播卖货吗?游戏能控制吗?
    wm5d8b
        41
    wm5d8b  
       1 day ago
    会和 mihomo 冲突吗?
    我有两个互联网出口,再加上代理,按域名分流最简单的方案就是用 mihomo 。现在使用 nikki 跑了 mihomo 实现代理及多路分流,再使用 clash-traffic-monitor 统计流量。
    clash-traffic-monitor 只要 60MB 内存就能跑非常轻量,我 fork 后改了改能从 oenwrt 获取设备名称,跑在一个古老的派上面
    Pters
        42
    Pters  
       1 day ago
    太棒了,Bro 能给个 Pro 的兑换码吗 YzkzOTk4NDYwNkBnbWFpbC5jb20=
    Steadier
        43
    Steadier  
    OP
       1 day ago
    @kekeones
    @snakelhb
    @Pters 兑换码已发送至邮箱,感谢试用
    Steadier
        44
    Steadier  
    OP
       1 day ago
    @alsa 当前还不支持客户端、应用的流量管控,但是会尽快实现
    Steadier
        45
    Steadier  
    OP
       1 day ago
    @wm5d8b 不会和 mihomo 冲突,agent 试用 eBPF 观察流量。agent 支持配置多接口。当前会转换透明代理的流量,但不会增加标识,因此如果你需要查看 Mihomo 的分流决策当前无法满足。
    galenzhao
        46
    galenzhao  
       1 day ago via iPhone
    @Steadier ….. 被用了
    mail 个吧
    [email protected]
    Steadier
        47
    Steadier  
    OP
       1 day ago
    @galenzhao #46 兑换码已发送至邮箱,感谢试用
    alsa
        48
    alsa  
       1 day ago via Android
    @Steadier 能试用一下吗?谢谢 [email protected]
    Steadier
        49
    Steadier  
    OP
       1 day ago
    @alsa #48 兑换码已发送至邮箱,感谢试用
    galenzhao
        50
    galenzhao  
       20h 41m ago
    @Steadier 能不能再来一个 code ,我 collector 放 nas 上
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2924 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 69ms · UTC 11:27 · PVG 19:27 · LAX 04:27 · JFK 07:27
    ♥ Do have faith in what you're doing.