我可以使用什么来监视和记录进出远程主机的传入/传出流量?

Ian*_*ton 16 networking logs monitoring debian webserver

我运行一个 Web 服务器(VPS 上的 Debian Squeeze),托管公司提供的图表一致表明,与传出流量相比,传入服务器的流量大约是服务器的两倍。我对此有点困惑,所以我想在机器上运行某种日志实用程序,不仅可以确认上传/下载数据,还可以通过所涉及的远程主机将它们分开,这样我就可以看看很大一部分传入流量来自一个特定来源。

我怀疑大部分传出流量都通过 Apache,但传入流量可能主要通过 Apache 或可能由其他脚本和 cron 作业主导,所以我更喜欢一种工具,可以在接口级别而不是 Apache 内部监控流量.

理想情况下,我想要一个可以运行几天的工具,然后返回并为传入和传出流量获得“每个远程主机的字节数”的输出。

使用标准的 Linux 工具和一些配置(如果是,如何?)或专业程序(如果是,是哪个?)

phe*_*mer 12

ntop可能是您执行此操作的最佳解决方案。它旨在长期运行并准确捕获您正在寻找的内容。
它可以向您显示哪些远程目标被使用最多,发送到/来自多少流量,正在使用哪些协议和端口等。如果您在路由器上运行它,它可以对源主机执行相同的操作,以便您可以看到本地客户端的统计数据也相同。
然后它使用 Web GUI 来导航和显示此信息。

顶


ckh*_*han 11

如果您有 root,则可以使用tcpdump并获取所有内容。然后,您可以在Wireshark 中提取它并进行分析。

$ sudo tcpdump -i <interface> -w mycapture.tcpdump  
Run Code Online (Sandbox Code Playgroud)

...然后当你玩够了时按 ctrl-c。screen如果需要分离等,请在会话中运行。

默认情况下,它只会捕获每个数据包的第一部分,但由于您最感兴趣的是应该没问题的原始分析。如果您喜欢冒险,还有很多其他的 tcpdump 选项

编辑:实际上,一旦加载到 Wireshark 中,您就可以使用菜单选项Statistics | IP 地址...并按计数/速率/百分比获得很好的流量摘要:

在此处输入图片说明