zoukankan      html  css  js  c++  java
  • 实时查看linux网卡流量

    将下列脚本保存为可执行脚本文件,比如叫traff.sh。

    1、本脚本可自定义欲查看接口,精确到小数,并可根据流量大小灵活显示单位。
    2、此脚本的采集间隔为1秒。
    3、此脚本不需要额外再安装软件,可在急用情况下应付一下,比如临时想看一下是否有流量通过,大概为多少等。
    4、一些流量查看软件由于计算的精确度不同,所以与此脚本显示的数值不可能一致,此脚本的显示结果与du meter对比过,相差很小。还有就是传输工具本身显示的传输速度并不准确。
    用法为:
    1、chmod +x ./traff.sh 将文件改成可执行脚本。
    2、./traff.sh eth0即可开始监看接口eth0流量,按ctrl+c退出。

    #!/bin/bash
    while [ "1" ]
    do
    eth=$1
    RXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
    TXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
    sleep 1
    RXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
    TXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
    clear
    echo  -e  "	 RX `date +%k:%M:%S` TX"
    RX=$((${RXnext}-${RXpre}))
    TX=$((${TXnext}-${TXpre}))
     
    if [[ $RX -lt 1024 ]];then
    RX="${RX}B/s"
    elif [[ $RX -gt 1048576 ]];then
    RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')
    else
    RX=$(echo $RX | awk '{print $1/1024 "KB/s"}')
    fi
     
    if [[ $TX -lt 1024 ]];then
    TX="${TX}B/s"
    elif [[ $TX -gt 1048576 ]];then
    TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')
    else
    TX=$(echo $TX | awk '{print $1/1024 "KB/s"}')
    fi
     
    echo -e "$eth 	 $RX   $TX "
    done
    
     
  • 相关阅读:
    基于curl 的zabbix API调用
    zabbix 安装错误汇总
    Zabbix 命令:zabbix_get
    zabbix主动被动模式说明/区别
    zabbix监控托管主机遇到问题
    centOS7服务管理与启动流程
    CentOS 6和CentOS 7防火墙的关闭
    linux 系统安装配置 zabbix服务(源码安装)
    如何配置这个maven仓库的源http://mvnrepository.com/repos
    Intellij IDEA最全的热键表(default keymap)
  • 原文地址:https://www.cnblogs.com/lixiuran/p/4824388.html
Copyright © 2011-2022 走看看