本章目录(5)On this page (5)
  1. 它解决什么问题
  2. 部署
  3. 采集多少
  4. 告警怎么设
  5. 坑
文章Articles

ntopng 流量分析

部署内网流量采集与协议分析,用它回答「谁在跟谁通信」这个最基本也最常被跳过的问题。

更新Updated 2026.09.18monitoringnetworktraffic

它解决什么问题

ntopng 不做检测,只做呈现。给它一小时的出口流量,它能回答:

  • 哪个 IP 在往外发最多数据?
  • 哪些主机在用 BT / 比特币矿池协议?
  • 某台服务器夜里三点跟陌生的 IP 通信了多久?
  • 今天的总流量比上周同期多了多少?

这四个问题里,前两个是 ntopng 的独场,IDS 做不了也不该做。

ntopng 采集与看板

部署

采集端用 ntopngd 直接吃镜像口的流量,比先落 pcap 再分析省事得多,也不占额外磁盘。

# 采集端:从汇聚交换机 0/0/1 的镜像口收流量
ntopng -i eth1 -w 3000 \
       -a 192.168.10.10 \
       --http-port 3001 \
       --ssl-cert /etc/ntopng/collector.crt \
       --ssl-key  /etc/ntopng/collector.key

面板端(web 模式)只负责展示和告警:

ntopng -w 3001 -A -R "collector.example.internal" \
       -r collector.example.internal:6001 \
       --auth-file /etc/ntopng/auth.db

三个端口别搞混:3000 是被采集端的 HTTP(可关),6001 是 Redis 协议的数据回传,3001 是面板 HTTPS。

采集多少

ntopng 是逐包分析,流量大就吃 CPU。经验值:单核大约能稳定处理 200–400 Mbps。超过这个量级有三个选择:

  1. 只采关键 VLAN(把无关的段从过滤规则里剔掉)。
  2. 采样(--sample),比例流量统计不受影响,但会话数会失真。
  3. 前置一个过滤,把明显无关的广播/组播丢掉——这一条收益最大,通常能砍掉三成流量。

告警怎么设

ntopng 内置的告警规则只对协议异常有效,比如「检测到 P2P 流量」「端口被扫描」。这已经很有用了,因为它们几乎不误报。

真正要自己写的是带宽类告警,比如「某主机出向流量连续 10 分钟超过 50 Mbps」——这一条能抓住大部分数据外泄。它的阈值不能拍脑袋,要先跑一周拿到基线,再按基线的 P95 加余量。

坑

  • 镜像口丢包。采集端界面上的「丢包」计数不为 0 就说明带宽不够,数字不可信。ntopng 自己的 dashboard 有这个指标,务必看一眼。
  • 时区。ntopng 存 UTC,界面按浏览器时区显示。做时间线对比时如果跨了时区,结论会差半天。
  • 历史数据默认只留几天。默认不落盘,重启就没。要留就得配 -c 指定缓存目录并做好容量规划。