Linux网络流量实时监控工具ifstat与iftop的使用
ifstat工具简介
ifstat是一款用于实时监测Linux系统中网络接口流量的简单工具。它能够以固定时间间隔输出各网络接口的流量统计信息。
基本用法示例
默认情况下,ifstat会显示所有非回环网络接口的流量,单位为KB/s:
# ifstat
eth0 eth1
KB/s in KB/s out KB/s in KB/s out
0.07 0.20 0.00 0.00
0.07 0.15 0.58 0.00
若需监控所有网络接口(包括回环接口),可以使用`-a`参数:
# ifstat -a
lo eth0 eth1
KB/s in KB/s out KB/s in KB/s out KB/s in KB/s out
0.00 0.00 0.28 0.58 0.06 0.06
0.00 0.00 1.41 1.13 0.00 0.00
0.61 0.61 0.26 0.23 0.00 0.00
iftop工具详解
iftop是一个功能强大的实时流量监控工具,可以显示当前网络连接的具体流量情况以及TCP/IP连接详情。需要注意的是,iftop必须以root权限运行,并且不支持生成报表。
基本命令用法
默认情况下,iftop会监控系统中的第一块网卡:
# iftop
指定网卡进行监控:
# iftop -i eth1
禁用DNS反向解析以提高性能:
# iftop -n
仅显示端口号而不显示服务名称:
# iftop -N
监控特定网段的流量:
# iftop -F 192.168.1.0/24
iftop输出解释
以下为执行`iftop -N -n -i eth1`后的界面示例:
19.1Mb 38.1Mb 57.2Mb 76.3Mb 95.4Mb
+-----------------+-----------------+--------------------+--------------------+---------------------
192.168.1.11 => 192.168.1.66 5.3Mb 3.22Mb 3.20Mb
<= 219kb 45.7kb 49.3kb
192.168.1.11 => 192.168.1.29 144kb 30.8kb 29.6kb
<= 11.3Mb 2.38Mb 2.74Mb
...
iftop界面的主要部分如下:
- 顶部刻度:表示带宽范围。
- 中间列表:显示当前活动的网络连接及其流量统计。
- => 和 <=:分别表示发送和接收数据。
- 底部三行:总结了发送、接收和总流量的情况。
iftop交互命令
进入iftop界面后,可通过以下按键操作:
- h:切换帮助信息的显示。
- n:切换显示本地IP地址或主机名。
- s/d:切换是否显示本机或远程主机的详细信息。
- t:调整流量显示格式。
- N:切换显示端口号或服务名称。
- p/P:暂停/继续刷新屏幕。
- b/B:切换平均流量条形图或计算不同时间段内的平均值。
- T:切换是否显示每个连接的累计流量。
- l/L:启用过滤器或调整刻度。
- j/k:滚动查看连接记录。
- o:固定显示当前连接。
- f:编辑过滤规则。
- !:执行shell命令。
- q:退出程序。
注意:iftop显示的流量单位为Mb(兆比特),而ifstat使用KB(千字节)。两者单位不同,需特别留意。