網絡實時流量監控工具iftop
1.安裝依賴軟件庫
[root@localhost ~]# yum install libpcap libpcap-devel ncurses ncurses-devel -y
工具下載地址:http://www.ex-parrot.com/~pdw/iftop/
2.解壓並編譯安裝
[root@localhost ~]# tar xf iftop-1.0pre4.tar.gz -C /usr/local/src/
[root@localhost ~]# cd /usr/local/src/iftop-1.0pre4/
[root@bogon iftop-1.0pre4]# ./configure --prefix=/usr/local/application/iftop
[root@bogon iftop-1.0pre4]# make && make install
3.導入環境變量和man手冊
[root@bogon ~]# vim /etc/profile.d/iftop.sh
export PATH=$PATH:/usr/local/application/iftop/sbin
[root@bogon ~]# source /etc/profile.d/iftop.sh
[root@bogon ~]# vim /etc/man.config
MANPATH /usr/local/application/iftop/share/man
4.測試及說明
4.1直接使用iftop命令:
[root@localhost ~]# iftop
interface: eth0
IP address is: 192.168.85.129
MAC address is: 00:0c:29:ffffff9d:ffffffab:ffffff9b
4.2 iftop的輸出從整體上可以分為三大部分:
第一部分是iftop輸出中最上面的一行,此行是流量刻度,用於顯示網卡帶寬流量;
第二部分是iftop輸出中最大的一個部分,此部分又分為左中右三列,左列和中列記錄了哪些IP或主機正在本機的網絡進行連接。其中中列的 => 代表發送數據,<=代表接收數據,通過這個指示箭頭可以很清晰的知道兩個IP之間的通信情況。最右列又分為三個小列,這些實時參數分別表示外部IP連接到本機2s 10s和40s的平均流量。另外這個部分還有一個流量圖形條,流量圖形條是對流量大小的動態展示,以第一部分中的流量刻度為基准。通過這個流量圖形條可以很方便的看出那個IP的流量最大,今兒迅速定位網絡中可能出現的流量問題;
第三部分位於iftop輸出的最下面,可以分為三行,其中TX表示發送的數據,RX表示接受的數據,TOTAL表示發送和接收的全部流量。與這三行對應的有三列,其中cum列表示從運行iftop到目前的發送,接收和總數據流量;peak列表示發送,接收以及總的流量峰值;rates列表示過去2s 10s和40s的平均流量值;
4.3iftop使用的參數(iftop -h)
參數 含義
-i 指定需要檢測的網卡
-n 將輸出的主機信息都通過IP顯示,不進行DNS解析
-B 將輸出以byte為單位顯示網卡流量,默認是bit
-p 以混雜模式運行iftop,此時iftop可以用作網絡嗅探器
-N 只顯示連接端口號,不顯示端口對應的服務名稱
-P 顯示主機以及端口信息
-F 顯示特定網段的網卡進出流量 如iftop -F 192.168.85.0/24
-m 設置輸出界面中最上面的流量刻度最大值,流量刻度分5個大段顯示 如iftop -m limit
-f 使用篩選碼選擇數據包來計數 如iftop -f filter code
-b 不顯示流量圖形條
-c 指定可選的配置文件 如iftop -c config file
-t 使用不帶ncurses的文本界面,
如下兩個是只和-t一起用的:
-s num num秒後打印一次文本輸出然後退出
-L num 打印的行數
效果如圖:
4.4交互操作
再進入iftop檢測界面後按h鍵即可進入交互選項界面,如圖
交互參數主要分為四個部分,分別為一般參數,主機參數,端口顯示參數和輸出排序參數;
一般參數:
P 切換暫停/繼續顯示
h 在交互界面/狀態輸出界面之間切換
b 切換是否顯示平均流量圖形條
B 切換顯示2s 10s和40s內的平均流量
T 切換是否顯示每個連接的總流量
j/k 向上或向下滾動屏幕顯示當前的連接信息
f 編輯篩選碼
l 打開iftop輸出過濾功能 ,如輸入要顯示的IP按回車鍵後屏幕就只顯示與這個IP相關的流量信息
L 切換顯示流量刻度范圍,刻度不同,流量圖形條也會不同
q 退出iftop
主機參數:
n 使iftop輸出結果以IP或主機名的方式顯示
s 切換是否顯示源主機信息
d 切換是否顯示遠端目標主機信息
t 切換輸出模式
端口顯示參數:
N 切換顯示端口號/端口號對應服務名稱
S 切換是否顯示本地源主機的端口信息
D 切換是否顯示遠端目標主機的端口信息
p 切換是否顯示端口信息
輸出排序參數:
1/2/3 通過第一列/第二列/第三列排序
< 根據左邊的本地主機名或IP地址進行排序
> 根據遠端目標主機的主機名或IP地址進行排序
o 切換是否固定顯示當前的連接
補充:如何將iftop的輸出導出到文本中呢?
iftop的man手冊中-t選項說可以將輸出定向到標准輸出中,可是試了不行,也不知道如何做。
-t text output mode
Use text interface without ncurses and print the output to STDOUT.
但是找到了一個可以實現的方法:
nohup iftop -i eth0 > /filename 2>&1 &