找出每个IP的网络流量


20

我们有一台充当互联网网关的中央服务器。该服务器已连接到Internet,并且使用iptables我们转发流量并在网络中的所有计算机之间共享Internet连接。这很好。

但是,有时互联网会变得非常缓慢。最有可能的用户之一正在下载视频或其他大文件。我想找出罪魁祸首。我正在考虑安装一个工具,该工具可以通过IP监视通过服务器的网络流量。优选地是实时的以及累计的总数(再次通过IP)。建议使用任何工具吗?最好是在Ubuntu存储库中。

Answers:


17

我必须便宜一些,然后从这个问题中复制我的答案。

ntop可能是执行此操作的最佳解决方案。它旨在长期运行并准确捕获您要查找的内容。
它可以显示哪些客户端正在接收/发送最多的流量,它们在哪里接收/发送到了什么,正在使用哪些协议和端口等
。然后它使用Web GUI导航和显示此信息。

ntop是一个相当知名的工具,因此如果它不在Ubuntu的软件包存储库中,我将感到非常惊讶。

顶


8

ntop可以为您提供所需的确切信息。它收集有关流过您网络的所有流量的数据(如果其他网络中配置了将netfow数据发送到您的系统的设备,则可以从其他网络收集数据)。

它将向您显示网络上的每个主机,以及它们使用了多少带宽。它将使您深入了解每个主机,并查看它们正在生成哪种类型的流量以及与谁之间的流量。它会让您看到当前建立的TCP连接。几天来,您可能会迷失它可以提供给您的数据。

但是,该程序可能会占用大量内存,具体取决于您如何设置选项。


3
ah,我的答案有漂亮的照片!看起来我们俩几乎都在同一时间回答。哦,对(太真实了)的内存注释赞不绝口:-)
Patrick

1
很好的答案,也有效,但我只能打一个。因此,我根据时间戳进行了决定。另外,帕特里克(Patrick)有照片;-)
请删除我

3

您可以从iptables检查现有计数器,以查看是否有任何异常,

也可以将计费规则添加到仅用于生成流量计数的iptables中。诸如Shorewall之类的工具使此操作变得容易,并且具有有关会计规则的特定文档

有研究表明,路由器中的大缓冲区可能会导致性能问题。您可能希望尝试将流量调整为略小于网络容量。Shorewall提供了两种流量整形方法。这也可以用于确定某些流量的优先级。

如果您确定带宽使用过多的用户,则有以下几种选择:

  • 与他们讨论问题,并提醒他们您的使用政策;
  • 阻止使用带宽访问服务和/或站点;
  • 将流量限制到正在使用带宽的服务和/或站点;和/或
  • 限制相关用户的流量。

3

要按IP(而不是按IP和端口)查看实时使用情况:

sudo apt install tcptrack
sudo tcptrack -i eth0

要查看MAC地址的实时使用情况,一个不错的基于ncurses的工具是iptraf-ng

sudo apt install iptraf-ng
sudo iptraf-ng

(然后,选择“ LAN station monitor→eth0”。)

要按IP查看每日汇总数据量,我最喜欢的是ipfm。安装方式:

sudo apt install ipfm

然后/etc/ipfm.conf根据进行配置man ipfm.conf并从开始sudo ipfm

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.