网络流量监控

最近,我们需要对某台主机的网络流量进行长期的观察,所以需要使用一个趁手的工具来完成这个任务。理想的工具应该满足三条要求。第一,可以指定IP,端口进行监控;第二,可以将监控数据保存下来;第三,可以将存下来可视化。

网络流量监控工具

1. ifstat

如果仅仅相对某一网卡的流量进行监控,ifstat是一个很不错的工具。可是我们想针对某一端口,某一IP进行

监控,这个工具就无法满足要求了。

2. iftop

iftop简介:可以指定端口,IP进行网络流量的监控,但是无法将数据保存下载,更不能将保存的数据可视化。

iftop教程:http://www.vpser.net/manage/iftop.html

几个命令:

-n , 使host信息显示为IP值。

-N ,使端口信息显示为端口号。

-P  ,使host以及端口号均处于显示状态。

-F  , 指定某一网段//这个命令还不是很会用。

使用命令 iftop -n -N -P, IP,端口以及相应的流量就会显示出来

将iftop的输入定向到一个文件中,然后用python脚本对文件进行分析,可能会得到我们想要的结果。

iftop的输出解析起来可能比较费劲,,实现上述功能需要花费一些时间。

3. iptraf

iptraf简介:可以指定端口,IP进行网络流量的监控,同时会生成日志,但不能将保存的数据可视化。

iptraf教程:http://blog.chinaunix.net/space.php?uid=272339&do=blog&id=28464

http://iptraf.seul.org/2.6/manual.html#filters

通过python脚本对日志进行分析,可能可以完成所需功能。

4. rrdtool + cacti

简介:上述组合可以实现对于网络流量的全面监控,有日志,也有可视化界面。

配置方法:http://linux.chinaunix.net/techdoc/net/2007/07/14/962663.shtml

这个暂时不怎么会用。

图表绘制工具

从日志中提取出有效数据,我们需要将其可视化,以便直观地了解网络情况。

1. matplotlib

通过matplotlib库,可以方便地绘制图表。

2. rrdtool是一款强大的绘图引擎。不过使用起来貌似比较复杂。