网络流量工具
本文介绍三个用来检测网络流量的常用工具:1) 查看整体流量:nload; 2) 按进程查看流量:nethogs; 3) 按连接查看流量:iftop.
概述
在真实环境中,要查看网络流量的占用问题,可以从下几个维度去考虑:
- 查看整体流量带宽,判断机器的上下行带宽是否被打满,如果带宽超过了本机的限额,就要考虑增加带宽或增加节点;
- 根据进程查看流量占用,从而判断出那个程序占用流量较大;
- 知道进程占用流量情况之后,再查看连接的流量使用,从而可以判断出那个连接占用流量最大。
网络相关的命令较多,我们可以选择三个常用的命令:
- nload:查看整体流量;
- nethogs:按进程查看流量;
- iftop:按连接查看流量。
说明: 安装的环境为 CentOS 7.6
.
整体带宽(nload)
1. 安装 1
yum -y install nload
2. 运行命令
1 | $ nload -m |
nload
按网络设备分组,显示每一个设备的入口/出口带宽。显示的内容也很直观,Incoming
表示入口带宽,Outgoing
表示出口带宽。其它字段含义如下:
- Curr: 当前流量;
- Avg: 平均流量;
- Min: 最小流量;
- Max: 最大流量;
- Ttl: 总流量。
3. 常用命令
1 | $ nload -m # 查看所有设备的流量情况 |
按进程查看流量(nethogs)
1. 安装
1 | yum -y install nethogs |
2. 运行命令
1 | $ nethogs |
可以看到每一个进程流量的使用情况。
3. 常用命令 1
$ nethogs eth0 # 查看指定设备的流量情况
按连接查看流量(iftop)
1. 安装 iftop
依赖 libpcap, libncurses
库,需提前安装。 1
2$ yum -y install libpcap libpcap-devel ncurses ncurses-devel
$ yum -y install iftop
2. 运行命令 1
2
3
4
5
6
7
8
9
10
11
12
13
14$ iftop -n -i ens160
19.1Mb 38.1Mb 57.2Mb 76.3Mb 95.4Mb
+-------------------+-------------------+--------------------+-------------------+--------------------
192.168.100.101 => 192.168.100.102 348Kb 348Kb 317Kb
<= 7.38Kb 7.51Kb 6.84Kb
192.168.100.101 => 192.168.100.103 208b 166b 97b
<= 240b 192b 106b
------------------------------------------------------------------------------------------------------
TX: cum: 872KB peak: 350Kb rates: 348Kb 348Kb 317Kb
RX: 19.1KB 8.40Kb 7.62Kb 7.70Kb 6.94Kb
TOTAL: 891KB 358Kb 356Kb 356Kb 324Kb
命令内容分为三个部分:
- 第一行表示带宽,单位为 bit;
- 中间部分为活跃的连接,每一连接用两行来表示,第一行表示发送,用
=>
表示,第二行表示接收,用<=
表示,最后三列的数据表示最近 2 秒,10 秒和 40 秒的平均流量; - 最后三行是统计数据,分别表示发送,接收和全部的流量,cum 列表示运行到目前的流量,peak 列表示峰值,rates 列表示最近 2 秒,10 秒和 40 秒的平均流量。
3. 常用命令
1 | $ iftop # 默认是监控第一块网卡的流量 |