网络流量监控工具

参考:Bandwidth Monitoring Tools For Linux

实时流量监控:pv

OS: Ubuntu Server 12.04.

netcat & pv

apt-get install pv

监控端口5555上的实时网络流量:

nc -l 5555 | pv > /dev/null

向服务器113上发送数据:

nc 10.31.1.113 5555

ifstat

Homepage: http://gael.roualland.free.fr/ifstat/

使用

ifstat -i eth0 1 5 // 监测网口eth0的流量,每一秒测试一次,共测试5次

该工具不需要root权限

安装

Ubuntu可以用apt-get直接装,官网上的ifstat-1.1.tar.gz包是源码包,在RedHat上安装需要编译,过程很简单,根据INSTALL文档的说明:

./configure
make
make install

atsar

atsar(Unix的sar指令的Linux移植版,可以用apt-get安装)也有几个选项是用来监控网络情况的,例如每隔2秒显示一次系统当前TCP流量:

atsar -t 2 5

iftop

Ubuntu: apt-get install iftop.

监控与47的交互:

iftop -n -i eth0 -f "host 10.0.2.47" // 监测47与113的双向传输数据
iftop -n -i eth0 -f "src 10.0.2.47" // 只监测47流向113的数据

目前看来iftop显示的信息最全,但需要好好看手册,每个值都是什么意思;使用它需要root权限;

参考:https://sickbits.net/iftop-finding-traffic-hogs/

trafshow

Ubuntu: apt-get install trafshow

监控与47的交互:

trafshow -n -i eth0 host 10.0.2.47

网络带宽测试:iperf

又叫bandwidth或者throughput测试,用来测试Server和Client间的最大传输速率。

iperf是命令行工具,还有一个基于Java的图形界面jperf可运行在Windows和linux上;

安装:Ubuntu用apt-get install iperf安装,Redhat需要在"http://pkgs.repoforge.org/iperf/"上根据操作系统的版本和架构选择一个rpm下载(47服务器系统为Redhat 5.4, x86_64,下载的是iperf-2.0.4-1.el5.rf.x86_64.rpm),然后用rpm -ivh 安装;

用法

  1. 启动服务端:iperf -s;

  2. 启动客户端:iperf -c 10.0.2.47 -i 1 -f M(-c后面跟服务器IP地址,-i表示发送的时间间隔,-f M表示返回结果以MByte为单位);

或者启动图像客户端jperf,点击"Run IPerf"按钮就可以测网络带宽了。给出的结果是笔记本电脑与113服务器之间单向单流(1 stream)带宽为1.8MB/s左右;

iperf作为客户端还有两个比较有用的选项分别是-d和-d -r,前者表示测试同时双向传输的速率,后者表示先进行client to server的单向传输测试,完毕后互换角色,反过来进行server to client的单向传输测试,过程如下:

server: iperf -s

client: iperf -c 10.0.2.47 -i 1 -f M -d(或者iperf -c 10.0.2.47 -i 1 -f M -d -r)

参考:

http://www.smallnetbuilder.com/lanwan/lanwan-howto/30408-measuring-network-performance-jperf http://openmaniak.com/iperf.php

posted on 2014-03-17 18:17  leechau  阅读(478)  评论(0编辑  收藏  举报

导航