性能測試 -Linux 流量監(jiān)控工具 iftop

一、iftop 有什么作用
iftop 是類似于 top 的實(shí)時(shí)流量監(jiān)控工具,主要用來顯示本機(jī)網(wǎng)絡(luò)流量情況以及各個(gè)相互通信的流量集合,可以用來監(jiān)控網(wǎng)卡的實(shí)時(shí)流量。
二、安裝 iftop
①、編譯安裝
安裝所需要依賴包
[root@docker ~]# yum install -y gcc flex byacc libpcap ncurses ncurses-devel libpcap-devel tcpdump
下載工具包:
[root@localhost data]# wget http://www.ex-parrot.com/pdw/iftop/download/iftop-1.0pre4.tar.gz
解壓:
[root@localhost data]# tar -zxvf iftop-1.0pre4.tar.gz
安裝
[root@docker iftop-1.0pre4]# ./configure --prefix=/usr/local/iftop
[root@docker iftop-1.0pre4]# make && make install
②、或者直接 yum 命令安裝:
[root@localhost ~]# yum install iftop -y
三、運(yùn)行 iftop 命令
[root@localhost data]# iftop

從輸出的界面中,主要分為是三大部分:
第一部分:輸出最上面的一行,顯示網(wǎng)卡帶寬流量
第二部分:分為左中右三列,左列和中列記錄了哪些 IP 或主機(jī)正在連接本機(jī)的網(wǎng)絡(luò)
中列的 => 代表發(fā)送數(shù)據(jù)
<= 代表接收數(shù)據(jù)
通過這些指示箭頭可以很清晰的知道兩個(gè) IP 之間的通信情況
最右列的三個(gè)小列:
分別表示外部 IP 連接到本機(jī) 2s,10s 和 40s 的平均流量
還有一個(gè)流量圖形條,可以很快的看出那個(gè) IP 的流量最大

第三部分:iftop 輸出的最下面,分為三行
TX:發(fā)送的數(shù)據(jù)
RX:接收的數(shù)據(jù)
TOTAL:發(fā)送和接收的全部數(shù)據(jù)
對應(yīng)的三列:
cum:從運(yùn)行 iftop 到目前的發(fā)送,接收和總數(shù)據(jù)流量
peak:發(fā)送,接收以及總的流量峰值
rates:過去 2s,10s,40s 的平均流量值
四、iftop 相關(guān)參數(shù)
[root@localhost ~]# iftop -h
參數(shù) 含義
-i 指定需要檢測的網(wǎng)卡
[root@localhost ~]# iftop -i ens33

-n 將輸出的主機(jī)信息都通過 IP 顯示,不進(jìn)行 DNS 解析
-B 將輸出以 byte 為單位顯示網(wǎng)卡流量,默認(rèn)是 bit
-p 以混雜模式運(yùn)行 iftop,此時(shí) iftop 可以用作網(wǎng)絡(luò)嗅探器
-N 只顯示連接端口號,不顯示端口對應(yīng)的服務(wù)名稱
-P 顯示主機(jī)以及端口信息
-F 顯示特定網(wǎng)段的網(wǎng)卡進(jìn)出流量 如 iftop -F 192.168.85.0/24
-m 設(shè)置輸出界面中最上面的流量刻度最大值,流量刻度分 5 個(gè)大段顯示 如 iftop -m limit
-f 使用篩選碼選擇數(shù)據(jù)包來計(jì)數(shù) 如 iftop -f filter code
-b 不顯示流量圖形條
-c 指定可選的配置文件 如 iftop -c config file
-t 使用不帶 ncurses 的文本界面,
如下兩個(gè)是只和-t 一起用的:
-s num num 秒后打印一次文本輸出然后退出
-L num 打印的行數(shù)
五、進(jìn)入 iftop 畫面后的一些操作命令(注意大小寫)
按 h 切換是否顯示幫助;
按 n 切換顯示本機(jī)的 IP 或主機(jī)名;
按 s 切換是否顯示本機(jī)的 host 信息;
按 d 切換是否顯示遠(yuǎn)端目標(biāo)主機(jī)的 host 信息;
按 t 切換顯示格式為 2 行/1 行/只顯示發(fā)送流量/只顯示接收流量;
按 N 切換顯示端口號或端口服務(wù)名稱;
按 S 切換是否顯示本機(jī)的端口信息;
按 D 切換是否顯示遠(yuǎn)端目標(biāo)主機(jī)的端口信息;
按 p 切換是否顯示端口信息;
按 P 切換暫停/繼續(xù)顯示;
按 b 切換是否顯示平均流量圖形條;
按 B 切換計(jì)算 2 秒或 10 秒或 40 秒內(nèi)的平均流量;
按 T 切換是否顯示每個(gè)連接的總流量;
按 l 打開屏幕過濾功能,輸入要過濾的字符,比如 ip,按回車后,屏幕就只顯示這個(gè) IP 相關(guān)的流量信息;
按 L 切換顯示畫面上邊的刻度;刻度不同,流量圖形條會有變化;
按 j 或按 k 可以向上或向下滾動屏幕顯示的連接記錄;
按 1 或 2 或 3 可以根據(jù)右側(cè)顯示的三列流量數(shù)據(jù)進(jìn)行排序;
按 < 根據(jù)左邊的本機(jī)名或 IP 排序;
按 > 根據(jù)遠(yuǎn)端目標(biāo)主機(jī)的主機(jī)名或 IP 排序;
按 o 切換是否固定只顯示當(dāng)前的連接;
按 f 可以編輯過濾代碼,這是翻譯過來的說法,我還沒用過這個(gè)!
按!可以使用 shell 命令,這個(gè)沒用過!沒搞明白啥命令在這好用呢!
按 q 退出監(jiān)控。
六、使用案例
使用 iftop 工具查出來是哪些 IP 地址在請求主機(jī)的帶寬資源

可以看到 148 到 147 的流量,以及返回的流量都不是很大,都只有 6 兆,7 兆左右,流量占用整個(gè)帶寬都很小。
本文作者為檸檬班老師mike.liu,轉(zhuǎn)載請注明出處。