iftop--实时网络接口流量监控工具
1、介绍
iftop是实时流量监控工具,可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等。
2、安装
yum -y install iftop
查看版本
strings /usr/sbin/iftop | grep "version"
3、常用参数
- -h 显示帮助信息
- -n 不进行dns解析,直接显示ip地址
- -N 显示端口号而不是服务名称
- -B 以字节bytes为单位,默认是比特bits
- -i 指定网络接口,如 iftop -i eth0
- -F net/mask 显示进出 IPv4 网络的流量
- -G net6/mask6 显示进出 IPv6 网络的流量
- -l 显示并统计链路本地 IPv6 流量(默认:关闭)
- -P 显示端口和主机
- -m limit 设置带宽比例的上限
- -t 使用无 ncurses 的文本界面,后面两个参数只能与-t一起使用
- -s num 在 num 秒后打印一个文本输出,然后退出
- -L num 要打印的行数
排序顺序:
- -o 2s 按第一列排序(2 秒流量平均值)
- -o 10s 按第二列排序(平均 10 秒流量) [默认值]
- -o 40s 按第三列排序(平均 40 秒流量)
- -o source 按源地址排序
- -o destination 按目的地地址排序
界面命令(执行iftop命令后的交互命令):
- P 暂停/继续刷新
- h 交互参数界面/状态输出界面切换
- B 切换显示2s、10s、40s内的平均流量
- T 每个连接的总流量开关
- l 过滤,输入要显示的ip,回车后只显示与这个ip相关的流量
- L 切换显示流量刻度范围,刻度不同,流量条形图会跟着变化
- n 切换主机名/ip显示
- s 是否显示源主机开关
- d 是否显示远端主机信息
- t 切换iftop显示格式,连续按键可依次显示:以两行显示发送接收流量,以一行显示发送接收流量,只显示发送/接收流量
- N 切换显示端口号/端口号对应的服务名称
- S 切换是否显示本地源主机的端口信息
- D 切换是否显示远端目标主机的端口信息
- p 切换是否显示端口信息
- 1/2/3 根据最近2s,10s,40s的平均流量排序
- < 根据左边的本地主机名或ip地址进行排序
- > 根据远端主机名或ip地址进行排序
- o 切换是否固定显示当前的连接
- q 退出
4、输出含义
iftop输出:
第一部分
最上面一行是流量刻度,用于显示网卡带宽流量,可以快速了解当前流量级与流量高峰
第二部分
中间部分又分为左中右三列:左列表示当前的服务器;中列表示对端ip或域名,前面箭头方向表示流量方向,=> 发送流量,<= 接收流量;右列参数表示过去2s、10s、40s内的平均流量值
注:白色背景长度为流量刻度,可按L键显示流量刻度,直观的看到流量峰值最高的ip
第三部分
TX - 表示发送流量 cum - 表示从运行iftop到目前的发送、接收和总数据流量 peak - 表示发送、接收以及总的流量峰值 rates - 表示过去2s、10s、40s的平均流量值
RX - 表示接收流量
TOTAL - 表示总流量
5、示例
5.1 找到本机最耗费流量的ip和端口号
执行命令
#查看eth0网卡流量,显示ip和端口号
iftop -i eth0 -nN
按L键显示流量刻度,找出峰值最高的ip
按T显示总量,查看接收和发送的流量总和(右侧会多出一列数据)
按t将发送和接收流量合并
按3根据最新40s流量排序
按B切换查看2s、10s、40s内的平均流量
以上可以找到流量最高的ip,按l键,输入这个ip后,只显示这个ip相关流量
按p键,显示端口信息
再用B键切换查看2s、10s、40s内的平均流量,即可找出最耗流量的端口