zoukankan      html  css  js  c++  java
  • 如何在Linux下统计高速网络中的流量

    参考:
    脚本主要是基于sysfs虚拟文件系统,这是由内核用来将设备或驱动相关的信息输出到用户空间的一种机制。网络接口的相关分析数据会通过“/sys/class/net/<ethX>/statistics”输出。

    举个例子,eth0的网口上分析报告会输出到这些文件中:

    /sys/class/net/eth0/statistics/rx_packets: 收到的数据包数据
    /sys/class/net/eth0/statistics/tx_packets: 传输的数据包数量
    /sys/class/net/eth0/statistics/rx_bytes: 接收的字节数
    /sys/class/net/eth0/statistics/tx_bytes: 传输的字节数
    /sys/class/net/eth0/statistics/rx_dropped: 收包时丢弃的数据包
    /sys/class/net/eth0/statistics/tx_dropped: 发包时丢弃的数据包

    netpps.sh---测量网口每秒数据包
     
    #/bin/bash

    INTERVAL="1"  # update interval in seconds

    if [ -z "$1" ]; then
         echo usage: $0 [network-interface]
         echo e.g. $0 eth0
         echo shows packets-per-second
         exit
    fi

    while true
    do
         R1=`cat /sys/class/net/$1/statistics/rx_packets`
            T1=`cat /sys/class/net/$1/statistics/tx_packets`
            sleep $INTERVAL
            R2=`cat /sys/class/net/$1/statistics/rx_packets`
            T2=`cat /sys/class/net/$1/statistics/tx_packets`
            TXPPS=`expr $T2 - $T1`
            RXPPS=`expr $R2 - $R1`
            echo "TX $1: $TXPPS pkts/s RX $1: $RXPPS pkts/s"
    done
     
     


    netspeed.sh---网络带宽测量
    #/bin/bash

    INTERVAL="1"  # update interval in seconds

    if [ -z "$1" ]; then
            echo
            echo usage: $0 [network-interface]
            echo
            echo e.g. $0 eth0
            echo
            exit
    fi

    IF=$1

    while true
    do
            R1=`cat /sys/class/net/$1/statistics/rx_bytes`
            T1=`cat /sys/class/net/$1/statistics/tx_bytes`
            sleep $INTERVAL
            R2=`cat /sys/class/net/$1/statistics/rx_bytes`
            T2=`cat /sys/class/net/$1/statistics/tx_bytes`
            TBPS=`expr $T2 - $T1`
            RBPS=`expr $R2 - $R1`
            TKBPS=`expr $TBPS / 1024`
            RKBPS=`expr $RBPS / 1024`
            echo "TX $1: $TKBPS kb/s RX $1: $RKBPS kb/s"
    done
  • 相关阅读:
    Python
    Linux, Nginx
    Python
    C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)
    堆——神奇的优先队列(下)
    堆——神奇的优先队列(上)
    二叉树
    开启“树”之旅
    巧妙的邻接表(数组实现)
    Dijkstra最短路算法
  • 原文地址:https://www.cnblogs.com/black-mamba/p/5911505.html
Copyright © 2011-2022 走看看