如何在Linux下統計高速網路中的流量

來源:互聯網
上載者:User

標籤:

參考資料:

http://www.geekfan.net/5558/http://blog.jobbole.com/23638/http://www.csdn.net/article/2014-03-05/2818640-internet-of-things-blog 指令碼主要是基於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

如何在Linux下統計高速網路中的流量

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.