Linux中一行命令查看网卡流量、统计网络流量的各种实现方法。
方法一、nload工具
源码包路径:
查看参数帮助命令:
如只监控eth0命令: nload eth0
方法二、iftop工具
源码包路径:
1、iftop界面相关说明
界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。
中间的<= =>这两个左右箭头,表示的是流量的方向。
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
2、iftop相关参数
常用的参数
方法三、 ifstat
源码包路径:
http://gael.roualland.free.fr/ifstat/ifstat-1.1.tar.gz 参数:
-a 监测能检测到的所有网络接口的状态信息
-z 隐藏流量是无的接口,例如那些接口虽然启动了但是未用的
-i 指定要监测的接口,后面跟网络接口名
时间:
-T 报告所有监测接口的全部带宽
-w 用指定的列宽,而不是为了适应接口名称的长度而去自动放大列宽
-W 如果内容比终端窗口的宽度还要宽就自动换行
-b 用kbits/s显示带宽而不是kbytes/s
方法四、iptraf
安装方式:
iptraf是一个基于ncurses开发的IP局域网监控工具,它可以实时地监视网卡流量,可以生成各种网络统计数据,包括TCP信息、UDP统计、ICMP和OSPF信息、以太网负载信息、节点统计、IP校验和错误和其它一些信息。
iptraf的参数列表
iptraf后面加上不同的参数,可以起到不同的作用,下面是iptraf的参数命令列表:
参数命令及作用
方法五、watch ifconfig
watch也可以用来查看文件变化的情况,例如:
例如 watch ls -la file,这条命令的意思是没两秒察看 file1的文件大小变化情况。
退出: ctrl+c
watch命令详解
NAME
watch - execute a program periodically, showing output fullscreen
SYNOPSIS
watch [-dhvt] [-n ] [–differences[=cumulative]] [–help] [–interval=] [–no-title] [–version]
DESCRIPTION
watch runs command repeatedly, displaying its output (the first screenfull). This allows you to watch the program output change over time. By default, the program is run every 2 seconds; use -n or --interval to specify a different interval.
The -d or --differences flag will highlight the differences between successive updates. The --cumulative option makes highlighting “sticky”, presenting a running display of all positions that have ever changed. The -t or --no-title option turns off the header showing the interval, command, and current time at the top of the display, as well as the following blank line. watch will run until interrupted.
NOTE
Note that command is given to “sh -c” which means that you may need to use extra quoting to get the desired effect.
Note that POSIX option processing is used (i.e., option processing stops at the first non-option argument). This means that flags after command don’t get interpreted by watch itself.
EXAMPLES
To watch for mail, you might do: watch -n 60 from
To watch the contents of a directory change, you could use: watch -d ls -l
If youre only interested in files owned by user joe, you might use: watch -d ‘ls -l | fgrep joe’
You can watch for your administrator to install the latest kernel with: watch uname -r (Just kidding.)呵呵
BUGS
Upon terminal resize, the screen will not be correctly repainted until the next scheduled update. All --differences highlighting is lost on that update as well.
Non-printing characters are stripped from program output. Use “cat -v” as part of the command pipeline if you want to see them.
方法六、watch cat /proc/net/dev
一、查看总流量
ip
ip 命令来自 iproute2util 包,是查看、配置网络/路由的工具。作为 ifconfig 的替代品,ip 命令功能更强大,用法更语义化。
ip命令在大多数系统上都已经默认安装,也可通过 yum install -y iproute 安装。ip 的 “-s -h” 参数查看各网卡的总流量,下图是 ip -s -h link 的输出结果:
nload
nload 命令可以查看各个网络设备的当前网络速率,也会展示流经设备的总流量。
nload 来自EPEL软件库,CentOS安装命令为:yum install -y epel-release && yum install -y nload。查看eth0网卡流量 nload eth0命令输出如下:
PS:netstat -s 和 ifconfig -s 都可以查看收发的总包(netstat分协议给出),但不会给出字节数据。
二、查看实时网速网速
nload 命令可以输出当前网速,上面已经介绍过,本节不再赘述。
dstat
dstat 是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat的全能系统信息统计工具,支持数据实时刷新,输出直观易懂。
dstat 默认没有安装,安装命令为:yum install -y dstat。dstat -tnf 1 10 输出接下来10秒内每秒的网络数据:
sar
sar 是System Activity Report的缩写,是一款全面的Linux系统运行状态统计和性能分析工具,可从磁盘IO、CPU负载、内存使用等多个维度对系统活动进行报告。
sar 命令来自 sysstat 包,可使用这个命令安装:yum install -y sysstat。sar -n TCP 1 10可查看接下来10秒内的tcp数据:
三、查看连接/进程流量
ss/netstat
ss 和 netstat 是查看活动链接/监听端口的常用命令。ss 是 netstat 的替代,性能更好,建议使用。
ss 是 iproute2util 包的一部分,因此在大多数系统上默认安装,也可通过yum install -y iproute安装。netstat 来自 net-tools 包,新版系统上需要自行安装:yum install -y net-tools。
iftop
iftop 是一款实时流量监控工具,可以查看每个连接的实时速率。
iftop 来自EPEL软件库,安装命令是:yum install -y epel-release && yum install -y iftop。iftop -nN -i eth0实时查看eth0网卡的各个连接和网速:
nethogs
nethogs 是为了查看单个进程流量而设计的工具,按照进程进行带宽分组。
nethogs 来自EPEL软件库,安装命令是:yum install -y epel-release && yum install -y nethogs。nethogs -d 2 eth0 每2秒刷新流经eth0网卡的进程流量信息:
其他
tcpdump可以用来抓包,保存的数据可以用wireshark打开和查看。