用脚本实时显示Linux网络流量Linux认证考试

文章作者 100test 发表时间 2009:08:11 21:30:22
来源 100Test.Com百考试题网


  在GUI下面,有一大把的工具可以显示网络流量,那么,命令行下面怎么办?
  显然办法是有的,比如,ifconfig,会有这样的输出:
  RX bytes:1224128649 (1.1 GiB) TX bytes:34114947 (32.5 MiB)
  过一会再看,数值有所变化,两者的差值就是过去一段时间的流量。可是,这也太不人性化了……
  正所谓自己动手,丰衣足食,我们自己来写一个脚本,实时显示并刷新!
  脚本如下,还是哪句话,本人功力有限,写脚本的原则是够用就好。
  #!/bin/bash
  if [ -n "$1" ]. then
  eth_name=$1
  else
  eth_name="eth0"
  fi
  i=0
  send_o=`ifconfig $eth_name | grep bytes | awk {print $6} | awk -F : {print $2}`
  recv_o=`ifconfig $eth_name | grep bytes | awk {print $2} | awk -F : {print $2}`
  send_n=$send_o
  recv_n=$recv_o
  while [ $i -le 100000 ]. do
  send_l=$send_n
  recv_l=$recv_n
  sleep 1
  send_n=`ifconfig $eth_name | grep bytes | awk {print $6} | awk -F : {print $2}`
  recv_n=`ifconfig $eth_name | grep bytes | awk {print $2} | awk -F : {print $2}`
  i=`expr $i 1`
  send_r=`expr $send_n - $send_l`
  recv_r=`expr $recv_n - $recv_l`
  total_r=`expr $send_r $recv_r`
  send_ra=`expr \( $send_n - $send_o \) / $i`
  recv_ra=`expr \( $recv_n - $recv_o \) / $i`
  total_ra=`expr $send_ra $recv_ra`
  sendn=`ifconfig $eth_name | grep bytes | awk -F \( {print $3} | awk -F \) {print $1}`
  recvn=`ifconfig $eth_name | grep bytes | awk -F \( {print $2} | awk -F \) {print $1}`
  clear
  echo "Last second : Send rate: $send_r Bytes/sec Recv rate: $recv_r Bytes/sec Total rate: $total_r Bytes/sec"
  echo "Average value: Send rate: $send_ra Bytes/sec Recv rate: $recv_ra Bytes/sec Total rate: $total_ra Bytes/sec"
  echo "Total traffic after startup: Send traffic: $sendn Recv traffic: $recvn"
  done
  该脚本(假设名叫traffic)默认显示eth0的流量,如果你有多个网卡,请将网卡作为参数传进去,比如:
  ./traffic eth1

  编辑特别推荐:

  Linux系统通过手机GPRS上网设置简介

  提高Apache服务器性能的四个建议

  Linux认证能帮助你找到一份好工作吗



相关文章


扩展Linux虚拟机硬盘、分区一例Linux认证考试
优化Linux服务器硬盘性能实用技巧Linux认证考试
在CentOS5上安装HyperVLinux认证考试
VirtualBox的命令行用法Linux认证考试
用脚本实时显示Linux网络流量Linux认证考试
分析Unix主机系统安全漏洞存在的必然性Linux认证考试
探索恶意软件:百万Linux内核模拟僵尸网络Linux认证考试
Linux下安装脑图软件XMind的步骤Linux认证考试
如何在64位的Linux中运行32位的应用程序Linux认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛