我们正在运行一个具有多个活动端口的服务器进程。我想知道每个端口与哪些传出数据传输相关。我希望看到一份 24 小时报告,如下所示:
- 端口 30000 :2.4G
- 端口 30001 :1.2G
- 端口 30002 :2.3G
有没有办法做到这一点?
答案1
您可以使用伊夫托普捕获每个端口的网络流量数据。
iftop
有一个文本模式(iftop -t
)可能有用 - 请参阅iftop - 如何利用其输出生成文本文件?
答案2
基本上你需要一个网流安装 - 主机上的一系列探测器将收集有关流量通过的数据,然后将其传递到收集器(可能位于同一台主机上,也可能不位于同一台主机上),您可以从中构建统计报告。在撰写本文时,最新且功能最强大的 Netflow 框架是转储。由于您使用的是 Linux,因此建议的探测是ipt-netflow。
还有许多值得一提的衍生品/替代品,例如流控制,但最直接的方法是使用 Netflow。