Linux 查看实时网卡流量的方法 nload sar iftop

Posted Alex·G

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 查看实时网卡流量的方法 nload sar iftop相关的知识,希望对你有一定的参考价值。

1.使用nload

yum install -y gcc gcc-c++ ncurses-devel make wget

wget http://www.roland-riegel.de/nload/nload-0.7.4.tar.gz

tar zxf nload-0.7.4.tar.gz && cd nload-0.7.4 && ./configure && make && make install

# nload ens33

 有图形界面显示,比较直观

  

2.sar 计量脚本

sar(System Activity Reporter 系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘 I/O、CPU 效率、内存使用状况、进程活动及 IPC 有关的活动等。

yum -y install sysstat

 # cat flow
#!/bin/bash

ethn
=$1 while true do RX_pre=$(cat /proc/net/dev | grep $ethn | sed \'s/:/ /g\' | awk \'{print $2}\') TX_pre=$(cat /proc/net/dev | grep $ethn | sed \'s/:/ /g\' | awk \'{print $10}\') sleep 1 RX_next=$(cat /proc/net/dev | grep $ethn | sed \'s/:/ /g\' | awk \'{print $2}\') TX_next=$(cat /proc/net/dev | grep $ethn | sed \'s/:/ /g\' | awk \'{print $10}\') clear echo -e "\\t RX `date +%k:%M:%S` TX" RX=$((${RX_next}-${RX_pre})) TX=$((${TX_next}-${TX_pre})) 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 "$ethn \\t $RX   $TX "

done

# bash flow ens33
         RX  5:36:49 TX
ens33    259.268KB/s   2.26172KB/s

 

3.使用iftop

yum -y install flex byacc  libpcap ncurses ncurses-devel libpcap-devel

wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz

tar zxvf iftop-0.17.tar.gz && cd iftop-0.17

./configure && make && make install

# iftop

更新 wget http://www.ex-parrot.com/pdw/iftop/download/iftop-1.0pre4.tar.gz -c


 白色的就是当前网速的进度条了

 

4.使用dstat

yum -y install dstat

# dstat -n 
recv就是下载速度,当前约为300KB/s,暂时没找到单行显示的命令

iftop虽然也有图形化,但是无效内容太多,单一需求使用nload和dstat比较方便

 

5.nethogs

当你想要快速了解谁占用了你的带宽时,Nethogs 是快速和容易的。以 root 身份运行,并指定要监听的接口。它显示了空闲的应用程序和进程号

# nethogs wlan0
NetHogs version 0.8.1
PID USER   PROGRAM              DEV    SENT   RECEIVED       
7690 carla /usr/lib/firefox     wlan0 12.494 556.580 KB/sec
5648 carla .../chromium-browser wlan0  0.052   0.038 KB/sec
TOTAL                                 12.546 556.618 KB/sec 

  

7.vnstat

vnstat -i wlan0+eth0+eth1

$ vnstat -i wlan0
Database updated: Tue Oct 17 08:36:38 2017
   wlan0 since 10/17/2017
          rx:  45.27 MiB      tx:  3.77 MiB      total:  49.04 MiB
   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Oct \'17     45.27 MiB |    3.77 MiB |   49.04 MiB |    0.28 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        85 MiB |       5 MiB |      90 MiB |
   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
         today     45.27 MiB |    3.77 MiB |   49.04 MiB |   12.96 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated       125 MiB |       8 MiB |     133 MiB |

  

 

ifconfig -s

 

Reference:

Linux查看实时网卡流量的几种方式

Linux流量监控工具 - iftop (最全面的iftop教程)

 

PS:

dstat命令

优秀的 Linux 网络监视器

以上是关于Linux 查看实时网卡流量的方法 nload sar iftop的主要内容,如果未能解决你的问题,请参考以下文章

nload命令

nload命令

Linux- 日常运维-nload -网卡流量

nload命令

日常运维管理,w,wmstat,top,sar,nload

linux网络流量实时监控工具之nload