iftop 命令簡(jiǎn)介
iftop 是一個(gè)實(shí)時(shí)網(wǎng)絡(luò)帶寬監(jiān)控工具,它能夠捕獲流經(jīng)網(wǎng)口的入方向和出方向的數(shù)據(jù)包總數(shù),并顯示總帶寬利用率。iftop 可以幫助系統(tǒng)管理員監(jiān)控網(wǎng)絡(luò)流量,識(shí)別網(wǎng)絡(luò)瓶頸,以及檢測(cè)潛在的安全威脅。
#iftop -h
iftop: display bandwidth usage on an interface by host
Synopsis: iftop -h | [-npblNBP] [-i interface] [-f filter code]
[-F net/mask] [-G net6/mask6]
-h 顯示這條消息
-n 不要做主機(jī)名查找
-N 不要將端口號(hào)轉(zhuǎn)換為服務(wù)
-b 不要顯示交通的條形圖
-B 以字節(jié)為單位顯示帶寬
-a 以字節(jié)為單位顯示帶寬
-i interface 監(jiān)聽指定接口
-f filter code 使用過濾碼選擇要計(jì)數(shù)的數(shù)據(jù)包 (默認(rèn)值:無,但只統(tǒng)計(jì)IP報(bào)文)
-F net/mask 顯示進(jìn)出IPv4網(wǎng)絡(luò)的流量
-G net6/mask6 顯示進(jìn)出IPv6網(wǎng)絡(luò)的流量
-l 顯示和計(jì)數(shù)鏈路本地IPv6流量(默認(rèn)為off)
-P 顯示端口和主機(jī)
-m limit 設(shè)置帶寬規(guī)模的上限
-c config file 指定可選配置文件
-t 使用沒有護(hù)士的文本界面
Sorting orders:
-o 2s 按第一列排序(平均流量2s)
-o 10s 按第二列排序(平均流量10s)[默認(rèn)值]
-o 40s 按第三列排序(平均40秒流量)
-o source 按源地址排序
-o destination 按目的地址排序
以下選項(xiàng)只能與-t組合使用
-s num 在num秒后打印一個(gè)文本輸出,然后退出
-L num 打印的行數(shù)
流量刻度部分
這部分顯示在iftop輸出的頂部,是流量圖表,用于顯示網(wǎng)卡帶寬流量。它可以幫助您直觀地理解當(dāng)前的網(wǎng)絡(luò)流量狀況。
連接信息部分
這部分占據(jù)了iftop輸出的主體部分,通常分為左、中、右三列。左列和中列記錄了哪些IP或主機(jī)正在和本機(jī)的網(wǎng)絡(luò)進(jìn)行連接。中列的“=>”代表發(fā)送數(shù)據(jù),“<=”代表接收數(shù)據(jù),通過這個(gè)指示箭頭可以清楚地知道兩個(gè)IP之間的通信情況。最右列又分為三小列,分別表示外部IP連接到本機(jī)2秒內(nèi)、10秒內(nèi)和40秒內(nèi)的平均流量值。

流量統(tǒng)計(jì)部分
位于iftop輸出的最下方,包括“TX”(發(fā)送數(shù)據(jù))、“RX”(接收數(shù)據(jù))和“TOTAL”(總流量)。與這三行對(duì)應(yīng)的有三列,分別表示從運(yùn)行iftop到目前的發(fā)送、接收和總數(shù)據(jù)流量。“cum”表示累計(jì)流量,“peak”表示流量峰值,“rates”表示過去2秒、10秒、40秒的平均流量。
交互操作
iftop提供了一系列的交互操作,允許您對(duì)輸出結(jié)果進(jìn)行整理和過濾。例如,您可以使用“h”鍵進(jìn)入交互選項(xiàng)界面,使用“l(fā)”鍵打開輸出過濾功能,使用“L”鍵切換顯示流量刻度范圍,使用“q”鍵退出iftop流量監(jiān)控界面等。
如何利用iftop的輸出結(jié)果
監(jiān)控特定網(wǎng)卡流量:使用-i
參數(shù)指定需要檢測(cè)的網(wǎng)卡,例如:
顯示流量單位為字節(jié):使用-B
參數(shù),例如
顯示流量進(jìn)度條:進(jìn)入iftop界面后按下L
鍵。
顯示每個(gè)連接的總流量:進(jìn)入iftop界面后按下T
鍵。
篩選特定IP的流量:使用-l
參數(shù),例如
iftop -i eth0 -n -l 172.17.1.158
找出流量最多的IP和端口:首先篩選特定IP,然后按下p
鍵根據(jù)端口號(hào)顯示,最后通過觀察流量統(tǒng)計(jì)部分找到流量最大的連接。
以下是一些常用的 iftop 命令使用案例:
顯示整體帶寬使用指標(biāo)
如果不帶任何參數(shù),iftop 命令將顯示連接到系統(tǒng)的所有網(wǎng)絡(luò)接口的帶寬使用情況。
查看指定網(wǎng)口的帶寬統(tǒng)計(jì)信息
要顯示特定網(wǎng)絡(luò)接口的統(tǒng)計(jì)信息,可以使用 -i
標(biāo)志和接口名稱。例如,顯示與某個(gè)接口 (例如:enp0s8) 相關(guān)的帶寬活動(dòng)。
禁用或隱藏頂部條形圖
要隱藏或禁用位于終端頂部的帶寬比例或欄,請(qǐng)使用 -b
選項(xiàng)。
禁用主機(jī)名查找
要禁用主機(jī)名查找,可以使用 -n
選項(xiàng)。例如,忽略使用 enp0s8 網(wǎng)絡(luò)接口訪問的站點(diǎn)的主機(jī)名查找。
顯示直觀的文本輸出
以更直觀的方式顯示輸出,請(qǐng)使用 -t
選項(xiàng)。
顯示進(jìn)出子網(wǎng)的流量
如果您在子網(wǎng)中,例如 192.168.2.0/24,并且要分析入站和出站網(wǎng)絡(luò)流量,請(qǐng)運(yùn)行命令:
sudo iftop -F 192.168.2.0/24
按來源地址對(duì)輸出進(jìn)行排序
按目的地址對(duì)輸出進(jìn)行排序
sudo iftop -o destination
以字節(jié)為單位顯示帶寬使用情況
顯示幫助頁(yè)
顯示 iftop 的幫助頁(yè)面,了解更多詳細(xì)信息和選項(xiàng)。
以上命令均需以 root 權(quán)限執(zhí)行,除非特別指明。在使用 iftop 之前,確保已經(jīng)按照相應(yīng)的操作系統(tǒng)安裝了 iftop 工具。例如,在基于 RHEL 的發(fā)行版上,大家可能還需要先啟用 EPEL 存儲(chǔ)庫(kù),然后安裝 iftop。在 Debian 或 Ubuntu 上,可以直接使用 apt
包管理器安裝 iftop。
總之,iftop 作為一款功能強(qiáng)大且實(shí)用的網(wǎng)絡(luò)帶寬監(jiān)控工具,無論是排查網(wǎng)絡(luò)故障、優(yōu)化網(wǎng)絡(luò)性能,還是強(qiáng)化網(wǎng)絡(luò)安全管理,都能發(fā)揮重要作用。系統(tǒng)管理員熟練掌握 iftop 的使用,將極大提升網(wǎng)絡(luò)運(yùn)維效率,確保網(wǎng)絡(luò)環(huán)境高效、穩(wěn)定運(yùn)行,為各類業(yè)務(wù)的開展筑牢網(wǎng)絡(luò)根基。
藍(lán)隊(duì)云官網(wǎng)上擁有完善的技術(shù)支持庫(kù)可供參考,大家可自行查閱,更多技術(shù)問題,也可以直接咨詢。同時(shí),藍(lán)隊(duì)云整理了運(yùn)維必備的工具包免費(fèi)分享給大家使用,需要的朋友可以直接咨詢。更多技術(shù)知識(shí),藍(lán)隊(duì)云期待與你一起探索,助力你在 Linux 運(yùn)維之路上穩(wěn)步前行。