六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 40|回复: 0

linux查看端口流量的脚本

[复制链接]

升级  25%

79

主题

79

主题

79

主题

举人

Rank: 3Rank: 3

积分
275
 楼主| 发表于 2013-2-4 14:08:15 | 显示全部楼层 |阅读模式
通过本脚本,创造bash确凿在算术运算方面比老的shell要强大,为此需要起头学习bash,以利用它强大的功效。不过bash中的for语句功效和c中区别对比大。
  # cat stream
  #! /bin/bash
  # Write by Neil.xu  qq:37391319 email:
  # 2008-8-19 we need to monitor streams of LTS channels, so write this script
  typeset in in_old dif_in dif_in1 dif_out1
  typeset out out_old dif_out
  in_old=$(cat /proc/net/dev | grep eth0 | sed  's=^.*:==' | awk '{ print $1 }' )
  out_old=$(cat /proc/net/dev | grep eth0 | sed  's=^.*:=='  | awk '{ print $9 }')
  while true
  do
  sleep 1
  in=$(cat /proc/net/dev | grep eth0 | sed  's=^.*:=='  | awk '{ print $1 }')
  out=$(cat /proc/net/dev | grep eth0 | sed  's=^.*:=='  | awk '{ print $9 }')
  dif_in=$((in-in_old))
  dif_in1=$((dif_in * 8 / 1024 / 1024 ))
  dif_out=$((out-out_old))
  echo "                                         IN: ${dif_in} bytes     OUT: ${dif_out} bytes "
  dif_out1=$((dif_out * 8 / 1024 / 1024 ))
  echo "IN: ${dif_in1} mbps    OUT: ${dif_out1} mbps"
  in_old=${in}
  out_old=${out}
  done
  运行效果:
  # ./stream
  IN: 349179 bytes     OUT: 1363936 bytes
  IN: 2 mbps    OUT: 10 mbps
  IN: 349612 bytes     OUT: 1361852 bytes
  IN: 2 mbps    OUT: 10 mbps
  IN: 348684 bytes     OUT: 1358952 bytes
  IN: 2 mbps    OUT: 10 mbps
  IN: 349998 bytes     OUT: 1359092 bytes
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表