iftop--實時網路介面流量監控工具

心恩惠动發表於2024-07-17

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

相關文章