Linux查看端口流量的脚本

发表于:2009-12-23 10:33

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

#
Linux

  通过本脚本,发现bash确实在算术运算方面比老的shell要强大,为此需要开始学习bash,以利用它强大的功能。不过bash中的for语句功能和c中差异比较大。

  # cat stream

  #! /bin/bash

  # Write by Neil.xu  qq:37391319 email: xurongzhong@gmail.com

  # 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

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号