traffic66
traffic66 博客NetFlow / sFlow / IPFIX2026 年 10 月

我们把 GitHub 上的流量分析工具都装了一遍

这篇只比一件事:一个网管拿到工具,到看见第一张图、并且相信图上的数字,中间要走多远。traffic66 在这条路上走得最短;安全检测和 ntopng 同一档;规模、深度包检测和社区积累,别人更强。每一项都逐个对比过,表在后面。

参赛选手

我们找了 GitHub 上和 sFlow、NetFlow、IPFIX 有关、星数靠前的项目。有的是完整产品,有的只是采集器,有的已经归档。星数是 GitHub 页面上的数字。

项目星数是什么要先装好的东西状态 · 许可证
ntopng8.1kWeb 流量监控,nDPI 深度包检测Redis;收 NetFlow/sFlow 要配 nProbe,nProbe 需要授权活跃 GPL-3.0
FastNetMon3.7kDDoS 检测,可联动 BGP 黑洞Linux;看图要另配 InfluxDB/Grafana 等活跃 GPL-2.0
ElastiFlow(旧版)2.5kLogstash + Kibana 看板Elasticsearch、Logstash、Kibana2024-03 归档
Akvorado2.3k采集、补全、可视化inlet、Kafka、outlet、ClickHouse,官方 compose 里还有 Redis活跃 AGPL-3.0
pmacct1.2k采集守护进程,带 BGP/BMP自己选数据库和看板(常见是 Grafana)活跃 GPL(拟改 BSD 类)
vflow1.2k采集器,输出到 KafkaKafka 以及下游存储和看板Apache-2.0
nfdump922命令行收集和查询工具集没有现成 Web 界面活跃 BSD
Cloudflare goflow919Cloudflare 内部用的采集器Kafka 以及下游2025-02 归档
GoFlow2798高性能采集器输出到 Kafka 或文件,存储和界面自己搭活跃 BSD-3
traffic66刚起步采集、存储、Web 和终端界面、检测、pcap 分析没有。一个可执行文件,DuckDB 内嵌活跃 源码可用(见下文)

新版 ElastiFlow 已更名 NetObserv Flow,闭源,免费的 Community 版限 500 条流记录/秒。

第一项:从下载到第一张图

这是我们最在意的一项。网工下午三点接到“出口跑满了,看看是谁”,没有人想先学 Kafka。下面是各家从零到能看图的步骤,按官方文档最短路径数:

traffic66
下载解压./traffic66打开浏览器 ✓
ntopng
加软件源装 ntopng装 Redis装 nProbe申请 nProbe 授权配两边端口看图
Akvorado
装 Docker拉 compose起 Kafka起 ClickHouse起 inlet/outlet配 SNMP、GeoIP看图
ElastiFlow 新版
装 Elasticsearch装 Kibana装采集器导入看板注意 500 条/秒上限看图
GoFlow2 / pmacct
装采集器选数据库写入管道装 Grafana自己画看板看图

traffic66 第一次启动后用 admin / traffic66 登录,登录后先改一个自己的密码。Windows 上双击 traffic66.exe 就自动打开浏览器。想先看效果,traffic66 demo 会造一个模拟公司网络,带一天历史数据和一次完整的攻击过程。

顺带一提,Windows。表里的项目基本只跑在 Linux 或 Docker 上。traffic66 的 Windows、Linux、macOS 是同一份代码编出来的原生程序,不用 WSL,也不用 Docker。很多中小单位的网管机就是一台 Windows。

3 步
从下载到看见第一张图

第二项:数字能不能和设备计数器对上

流量工具最常被问的问题:图上说出口 800M,Zabbix 里 SNMP 取的是 600M,到底信哪个?

流量数字本来就是估算值:采样到的包乘以采样率。traffic66 专门做了一页接口对账,把每个接口的流量估算和设备自己的计数器(sFlow 计数器或 SNMP)画在同一张图上,算出偏差和采样本身的统计误差。偏差超出误差范围,会直接写出最可能的原因:有接口没开采样、同一份流量在两个口各采了一次、导出包在路上丢了,或者采样率还没收到。

为了让数字对得上,后台还做了几件不显眼的事:用设备实际生效的采样率;采样率没到之前先扣住记录,不按 1:1 乱算;补偿导出时丢掉的包;把长流按持续时间摊到每一分钟;给 NetFlow 字节数补上以太网开销,因为接口计数器是算它的。

接口对账:比特每秒和包每秒两张大图,下面是接口列表和偏差结论
接口对账。虚线是设备计数器,结论写在右下角。没开采样的对端接口排在列表最后,变灰显示。

对手们在这件事上做到哪一步:

traffic66流量估算和设备计数器画在一起,算偏差和统计误差,写出原因。sFlow 计数器自动用,NetFlow 设备加一行 snmp 就行。
ntopng企业版能轮询 SNMP,画设备接口图;官方文档没有提到拿它和流量做对比。社区版的 SNMP 支持文档里没写。
AkvoradoSNMP 只用来取接口名称和描述,补到流记录里,不读计数器。
ElastiFlow同样用 SNMP 补全接口信息;对账要自己在 Kibana 里拼两张图。
FastNetMon不做。它关心的是攻击阈值。
GoFlow2 等采集器不做。它们只负责把流记录送出去。

接口计数器在别家要么不读,要么是另一张图,摆在那里让你自己比。把“对不上的原因”写成结论的,我们没找到第二家。

第三项:打开就有结论,不用先学查询语言

概览页回答“现在多少、谁在用、和昨天比怎么样”。每个地址、端口、应用、国家都能点:只看它、排除它、看它的流记录、看它的详情页。整个界面的设计目标是让人尽量不用打字。

概览:接口带宽、按应用的带宽与昨天同时段对比
概览。顶部选接口,带星号的是默认接口。虚线是昨天同一时段。

同一件事,对手们的界面:

traffic66自带 Web 界面和终端界面,打开就是结论页。界面有 13 种语言,包括简体中文。
ntopng界面完整,信息量很大,是这张表里唯一能正面比的。语言有英、意、德、日、韩、西、法 7 种,官方公告里没有中文。
AkvoradoWeb 控制台做得漂亮,可视化页面能拖维度、画桑基图,但更像一个查询工具,要先想好查什么。只有英文。
ElastiFlow界面是 Kibana 看板。Kibana 有中文,看板本身是英文,改看板要学 Kibana。
FastNetMon社区版没有 Web 界面,看图要接 Grafana;Web 界面在商业版里。
GoFlow2、pmacct、vflow、nfdump没有界面,nfdump 是命令行查询。界面要自己搭,通常是 Grafana,每张图自己写查询。

第四项:攻击能不能在采样数据里找到

采样数据做安全检测是出了名的难:1:4096 的采样下,一次扫描可能只剩几个包。traffic66 的检测规则按采样后的数据重新校过阈值,演示环境里的整条攻击链都能找出来:内网扫描、端口扫描、暴力破解、横向移动、向陌生地址的大量上传,再加上威胁情报命中。同时,一天的正常流量里除了互联网上的扫描器敲网站,不出别的误报。

发现:一次攻击的每一步,按严重程度排列
发现。演示环境里一台被控主机的完整攻击过程,全部来自 1:4096 的 sFlow 采样。

这一项要说实话:

traffic66扫描、端口扫描、暴力破解、横向移动、异常上传、洪泛、威胁情报,阈值按采样数据校过,演示环境 1:4096 下整条攻击链全中。
ntopng检测项比我们多得多:各种扫描、洪泛、黑名单、DNS/ICMP 数据外传、横向移动,社区版就有。这一项 ntopng 领先。
FastNetMon只做 DDoS,但做得深:秒级检测,还能自动发 BGP 黑洞。
ElastiFlow有 NetIntel 威胁情报补全,告警要靠 Elastic 自己配规则。
Akvorado 和各采集器不做安全检测。

所以安全这一项,我们和 ntopng 是同一档。我们的优势在于:这些检测在一个程序里、不用额外配置,而且专门针对采样数据调过。

还有一个顺手的功能:traffic66 a.pcap b.pcapng 直接分析抓包文件,和实时数据分开存放,Ctrl+C 退出时自动删除导入的数据。ntopng 也能读 pcap,这一项算打平。

总成绩单

把上面几项和后面要说的弱项放在一张表里。实心是做到了,半个是部分做到或要付费、要另装,空心是没有。

能力traffic66ntopngAkvoradoElastiFlow 新版FastNetMon采集器类GoFlow2 · pmacct · vflow · nfdump
一个程序装完就能用Redis + nProbe 授权Kafka + ClickHouseElasticsearch + Kibana看图另接 Grafana存储和界面自建
Windows 原生运行Windows 为演示版
自带 Web 界面Kibana 看板商业版
中文界面Kibana 有,看板英文
流量与接口计数器对账企业版有 SNMP 图自己拼图
安全检测检测项最多威胁情报补全只做 DDoS,可自动处置
pcap 离线分析
终端界面命令行nfdump 命令行
七层应用识别nDPI
大规模横向扩展单机 5,000 条/秒付费档
OSI 开源许可证源码可用闭源
做到了 部分、付费或要另装 没有

前八行里,traffic66 每一行都是实心;八行全实心的,表里只有这一列。后三行是我们的短板,下一节细说。

别人做得更好的地方

选工具之前,请认真看这一节。

Akvorado · GoFlow2

规模

traffic66 按单机每秒 5,000 条流设计,DuckDB 内嵌。运营商级别的流量,Kafka 加 ClickHouse 的横向扩展架构才是正解。

ntopng

深度包检测

ntopng 有 nDPI,能识别几百种七层协议。traffic66 只看流,应用靠端口识别,不解析包内容。

FastNetMon

DDoS 自动处置

FastNetMon 检测到攻击能直接发 BGP 黑洞或 FlowSpec。traffic66 只报告洪泛,不动路由。

pmacct

路由数据和灵活度

pmacct 能同时收 BGP 和 BMP,把路由信息并进流记录,输出到几乎任何地方。traffic66 是成品,不是积木。

所有老项目

年头和社区

ntopng 有近三万次提交,nfdump 跑了二十年。traffic66 刚开始攒星,经受的生产检验远远不够。

表里多数项目

许可证

它们是 OSI 认可的开源许可证。traffic66 是源码可用:评估免费,100 人以下的组织生产使用免费,更大的组织 30 天后需要登记。功能不锁,但这不是开源。

怎么选

一台机器、几十到几百个接口,想今天下午就看到图,还要和 SNMP 对得上traffic66
要看七层应用,或者主要靠镜像口ntopng
运营商或大型骨干,每秒几十万条流Akvorado
主要诉求是 DDoS 检测加自动黑洞FastNetMon
已有 Kafka 和数据平台,只缺一个采集器GoFlow2 / pmacct
习惯命令行,要长期留存原始记录nfdump

我们有把握的是三件事:装得快、看得懂、数字对得上。其他几项,欢迎来 GitHub 提 issue,把差距一项一项缩小。