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内的平均流量,即可找出最耗流量的端口

 

posted @ 2024-07-17 15:07  心恩惠动  阅读(106)  评论(0编辑  收藏  举报