文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何使用shell统计网卡流量

2023-06-09 20:42

关注

小编给大家分享一下如何使用shell统计网卡流量,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

使用shell脚本计算Linux网卡流量,方法中最关键点:

代码如下:


ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'



通过ifconfig eth0|grep bytes 得到输入输出的流量。

代码如下:


/@rac2=>dd2$ifconfig eth0|grep bytes
RX bytes:1638005313300 (1.4 TiB) TX bytes:3408060482049 (3.0 TiB)



再将结果通过awk 得出所要的字段值。
固定时间得到这些值,在写个循环计算一下就能得到网卡流量。
完整代码:

代码一:

#!/bin/bash# 统计网卡流量# link:www.yisu.com# date:2013/2/26n=10 daterm -rf /tmp/ifconfig_logwhile (( $n >= 0 ))do n=$(($n - 1)); date >> /tmp/ifconfig_log ifconfig eth2 >> /tmp/ifconfig_log sleep 1done grep "RX bytes:" /tmp/ifconfig_log | awk -F"[:| ]" '{print $13}' | awk 'BEGIN{tmp=$1}{if(FNR > 1)print $1-tmp}{tmp=$1}'

代码二:

#!/bin/bashif [ -n "$1" ]; then eth_name=$1else eth_name="eth0"fii=0send_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_orecv_n=$recv_owhile [ $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 "=================================================="  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" echo "=================================================="done

代码三:

#!/bin/bash  # Link: www.51bbo.com  ###  while :  do    Time=`date +%F” “%T.%N`    rx_before=`ifconfig eth0 |sed -n 8p |awk ‘{print $2}'| cut -c7-`    tx_before=`ifconfig eth0 |sed -n 8p |awk ‘{print $6}'| cut -c7-`    sleep 2    rx_after=`ifconfig eth0 |sed -n 8p |awk ‘{print $2}'| cut -c7-`    tx_after=`ifconfig eth0 |sed -n 8p |awk ‘{print $6}'| cut -c7-`     rx_result=$[(rx_after – rx_before)/512]    tx_result=$[(tx_after – tx_before)/512]    echo -e “$Time nNow_In_Speed: ‘$rx_result'Kbps Now_OUt_Speed: ‘$tx_result'Kbpsn”  done

以上是“如何使用shell统计网卡流量”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯