0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Linux高速網(wǎng)絡流量的監(jiān)控、計算方法詳解

Linux愛好者 ? 2017-12-11 10:44 ? 次閱讀

Linux中有很多的流量監(jiān)控工具,它們可以監(jiān)控、分類網(wǎng)絡流量,以花哨的圖形用戶界面提供實時流量分析報告。大多數(shù)這些工具(例如:ntopng,iftop)都是基于libpcap庫的 ,這個函數(shù)庫是用來截取流經(jīng)網(wǎng)卡的數(shù)據(jù)包的,可在用戶空間用來監(jiān)視分析網(wǎng)絡流量。盡管這些工具功能齊全,然而基于libpcap庫的流量監(jiān)控工具無法處理高速(Gb以上)的網(wǎng)絡接口,原因是由于在用戶空間做數(shù)據(jù)包截取的系統(tǒng)開銷過高所致。

在本文中我們介紹一種簡單的Shell 腳本,它可以監(jiān)控網(wǎng)絡流量而且不依賴于緩慢的libpcap庫。這些腳本支持Gb以上規(guī)模的高速網(wǎng)絡接口,如果你對“匯聚型”的網(wǎng)絡流量感興趣的話,它們可統(tǒng)計每個網(wǎng)絡接口上的流量。

腳本主要是基于sysfs虛擬文件系統(tǒng),這是由內(nèi)核用來將設備或驅動相關的信息輸出到用戶空間的一種機制。網(wǎng)絡接口的相關分析數(shù)據(jù)會通過“/sys/class/net//statistics”輸出。

舉個例子,eth0的網(wǎng)口上分析報告會輸出到這些文件中:

/sys/class/net/eth0/statistics/rx_packets:收到的數(shù)據(jù)包數(shù)據(jù)

/sys/class/net/eth0/statistics/tx_packets:傳輸?shù)臄?shù)據(jù)包數(shù)量

/sys/class/net/eth0/statistics/rx_bytes:接收的字節(jié)數(shù)

/sys/class/net/eth0/statistics/tx_bytes:傳輸?shù)淖止?jié)數(shù)

/sys/class/net/eth0/statistics/rx_dropped:當收到包數(shù)據(jù)包下降的數(shù)據(jù)量

/sys/class/net/eth0/statistics/tx_dropped:傳輸包數(shù)據(jù)包下降的數(shù)據(jù)量

這些數(shù)據(jù)會根據(jù)內(nèi)核數(shù)據(jù)發(fā)生變更的時候自動刷新。因此,你可以編寫一系列的腳本進行分析并計算流量統(tǒng)計。下面就是這樣的腳本。第一個腳本是統(tǒng)計每秒數(shù)據(jù)量,包含接收(RX)或發(fā)送(TX)。而后面的則是一個描述網(wǎng)絡傳輸中的接收(RX)發(fā)送(TX)帶寬。這些腳本中安裝不需要任何的工具。

測量網(wǎng)口每秒數(shù)據(jù)包:

#!/bin/bash

INTERVAL="1"# update interval in seconds

if[ -z"$1"];then

echo

echo usage: $0[network-interface]

echo

echoe.g.$0eth0

echo

echo shows packets-per-second

exit

fi

IF=$1

whiletrue

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

網(wǎng)絡帶寬測量

#!/bin/bash

INTERVAL="1"# update interval in seconds

if[ -z"$1"];then

echo

echo usage: $0[network-interface]

echo

echoe.g.$0eth0

echo

exit

fi

IF=$1

whiletrue

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

下面的屏幕截圖顯示了上面的兩個腳本的輸出。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11123

    瀏覽量

    207889
  • 網(wǎng)絡流量

    關注

    0

    文章

    58

    瀏覽量

    10287

原文標題:如何在 Linux 下統(tǒng)計高速網(wǎng)絡中的流量

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    運營商將能夠應對網(wǎng)絡流量的增長

    吞噬著傳輸網(wǎng)絡,網(wǎng)絡流量增長之快超出人們的預期。 然而,這是否意味著運營商將無法應對網(wǎng)絡流量的驟增呢?答案是否定的。隨著IEEE 40G/100G以太網(wǎng)標準一年前的正式確定,下一代高速
    發(fā)表于 12-01 10:36

    分布式網(wǎng)絡流量監(jiān)測

    分析2種現(xiàn)行網(wǎng)絡流量監(jiān)測技術:利用標準的網(wǎng)絡管理方法記錄IP流量和利用NETFLOW的方法進行流量
    發(fā)表于 04-13 09:12 ?8次下載

    網(wǎng)絡流量測量的研究與實現(xiàn)

    網(wǎng)絡流量測量是研究網(wǎng)絡行為和網(wǎng)絡流量特性的有效方法。文章探討了網(wǎng)絡流量測量的關鍵技術,提出了網(wǎng)絡流量
    發(fā)表于 08-03 11:57 ?14次下載

    淺談基于PCA的網(wǎng)絡流量分析

    網(wǎng)絡流量的特性分析一直是通信網(wǎng)絡性能分析的一個極其重要的問題。本文主要采用主成分分析(PCA)的方法對采樣到的網(wǎng)絡流量數(shù)據(jù)進行分析,發(fā)現(xiàn)這些流量
    發(fā)表于 08-15 08:29 ?28次下載

    基于分組采樣組播網(wǎng)絡流量預測研究

    組播網(wǎng)中網(wǎng)絡流量分布的不均衡是網(wǎng)絡擁塞主要原因,而網(wǎng)絡流量預測是解決擁塞問題的關鍵。本文介紹了網(wǎng)絡流量預測的兩種重要方法:分組采樣和頻率采樣
    發(fā)表于 09-25 15:52 ?11次下載

    基于FPGA的網(wǎng)絡流量計設計與實現(xiàn)

    網(wǎng)絡測量是研究網(wǎng)絡行為和網(wǎng)絡流量特性的有效方法。網(wǎng)絡計費變得越來越重要,基于流量
    發(fā)表于 12-18 12:09 ?28次下載

    基于Netfilter內(nèi)核態(tài)網(wǎng)絡流量分析研究

    網(wǎng)絡流量采集與分析是網(wǎng)絡流量測量的核心技術。本文基于Linux 平臺內(nèi)核空間下的Netfilter 框架,提出并實現(xiàn)了內(nèi)核級的流量采集和分析的方法
    發(fā)表于 01-09 15:13 ?22次下載

    基于FPGA的網(wǎng)絡流量計設計與實現(xiàn)

    網(wǎng)絡測量是研究網(wǎng)絡行為和網(wǎng)絡流量特性的有效方法。網(wǎng)絡計費變得越來越重要,基于流量
    發(fā)表于 07-21 17:39 ?14次下載

    基于KPCA優(yōu)化ESN的網(wǎng)絡流量預測方法_田中大

    基于KPCA優(yōu)化ESN的網(wǎng)絡流量預測方法_田中大
    發(fā)表于 01-08 13:26 ?0次下載

    基于 ossim 的網(wǎng)絡流量監(jiān)控系統(tǒng)的分析

    基于 ossim 的網(wǎng)絡流量監(jiān)控系統(tǒng)的分析
    發(fā)表于 09-05 15:20 ?5次下載
    基于 ossim 的<b class='flag-5'>網(wǎng)絡流量</b><b class='flag-5'>監(jiān)控</b>系統(tǒng)的分析

    IP網(wǎng)絡流量矩陣估計方法

    針對IP網(wǎng)絡流量矩陣(TM)估計的高度病態(tài)性,導致很難精確估計網(wǎng)絡流量矩陣,因此提出了一種基于蟻群優(yōu)化(ACO)算法的IP網(wǎng)絡流量矩陣估計方法。通過適當?shù)慕#瑢?/div>
    發(fā)表于 02-09 16:24 ?0次下載
    IP<b class='flag-5'>網(wǎng)絡流量</b>矩陣估計<b class='flag-5'>方法</b>

    如何在Linux下統(tǒng)計高速網(wǎng)絡中的流量

    Linux中有很多的流量監(jiān)控工具,它們可以監(jiān)控、分類網(wǎng)絡流量,以花哨的圖形用戶界面提供實時流量
    發(fā)表于 05-06 17:37 ?969次閱讀
    如何在<b class='flag-5'>Linux</b>下統(tǒng)計<b class='flag-5'>高速</b><b class='flag-5'>網(wǎng)絡</b>中的<b class='flag-5'>流量</b>

    網(wǎng)絡安全安全設備之流量監(jiān)控的應用

    網(wǎng)絡流量監(jiān)控網(wǎng)絡管理、入侵監(jiān)測、協(xié)議分析、流量工程等領域有著廣泛應用,網(wǎng)絡流量監(jiān)控
    發(fā)表于 11-06 14:29 ?2444次閱讀

    用小監(jiān)視器監(jiān)控公司的網(wǎng)絡流量

    電子發(fā)燒友網(wǎng)站提供《用小監(jiān)視器監(jiān)控公司的網(wǎng)絡流量.zip》資料免費下載
    發(fā)表于 11-29 10:16 ?0次下載
    用小監(jiān)視器<b class='flag-5'>監(jiān)控</b>公司的<b class='flag-5'>網(wǎng)絡流量</b>

    艾體寶干貨 | 教程:使用ntopng和nProbe監(jiān)控網(wǎng)絡流量

    本文是關于使用 ntopng 和 nProbe 監(jiān)控網(wǎng)絡流量的教程。文章詳細介紹了如何配置和使用這兩個工具來監(jiān)控和分析網(wǎng)絡流量。內(nèi)容涉及硬件和軟件的安裝、配置端口鏡像、靜態(tài)IP地址設置
    的頭像 發(fā)表于 05-29 15:35 ?549次閱讀
    艾體寶干貨 | 教程:使用ntopng和nProbe<b class='flag-5'>監(jiān)控</b><b class='flag-5'>網(wǎng)絡流量</b>