网络流量监控工具
参考: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
用法
-
启动服务端:iperf -s;
-
启动客户端: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