介紹
iftop是一款實時流量監控工具,監控TCP/IP連接等,缺點就是無報表功能。必須以root身份才能運行。
安裝iftop
安裝方法1、編譯安裝
如果采用編譯安裝可以到iftop官網下載最新的源碼包。
安裝前需要已經安裝好基本的編譯所需的環境,比如make、gcc、autoconf等。安裝iftop還需要安裝libpcap和libcurses。
CentOS上安裝所需依賴包:
yum install flex byacc libpcap ncurses ncurses-devel libpcap-devel
Debian上安裝所需依賴包:
apt-get install flex byacc libpcap0.8 libncurses5
下載iftop
wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
tar zxvf iftop-0.17.tar.gz
cd iftop-0.17
./configure
make && make install
configure: error: can't find pcap.h
You're not going to get very far without libpcap.
那你需要先安裝libpcap,找到相應的rpm文件,比如:
-rw-r--r-- 1 root root 108987 Apr 3 08:21 libpcap-0.9.4-8.1.i386.rpm
-rw-r--r-- 1 root root 119062 Apr 3 08:21 libpcap-devel-0.9.4-8.1.i386.rpm
安裝方法2:(懶人辦法,最簡單)
CentOS系統:
yum -y install iftop
Debian系統運行:apt-get install iftop
運行iftop
直接運行: iftop
iftop
實例
默認是監控第一塊網卡的流量
iftop
監控eth1
iftop -i eth1
直接顯示IP, 不進行DNS反解析
iftop -n
直接顯示連接埠編號, 不顯示服務名稱:
iftop -N
顯示某個網段進出封包流量
iftop -F 192.168.1.0/24 or 192.168.1.0/255.255.255.0
基於實例講解輸出含義
執行iftop -N -n -i eth1后界面為
iftop界面含義如下
第一行:帶寬顯示
中間部分:外部連接列表,即記錄了哪些ip正在和本機的網絡連接
中間部分右邊:實時參數分別是該訪問ip連接到本機2秒,10秒和40秒的平均流量
=>代表發送數據,<= 代表接收數據
底部三行:表示發送,接收和全部的流量
底部三行第二列:為你運行iftop到目前流量
底部三行第三列:為高峰值
底部三行第四列:為平均值
通過iftop的界面很容易找到哪個ip在霸占網絡流量,這個是ifstat做不到的。不過iftop的流量顯示單位是Mb,這個b是bit,是位,不是字節,而ifstat的KB,這個B就是字節了,byte是bit的8倍。初學者容易被誤導。
進入iftop的命令
進入iftop畫面后的一些操作命令(注意大小寫)
按h切換是否顯示幫助;
按n切換顯示本機的IP或主機名;
按s切換是否顯示本機的host信息;
按d切換是否顯示遠端目標主機的host信息;
按t切換顯示格式為2行/1行/只顯示發送流量/只顯示接收流量;
按N切換顯示端口號或端口服務名稱;
按S切換是否顯示本機的端口信息;
按D切換是否顯示遠端目標主機的端口信息;
按p切換是否顯示端口信息;
按P切換暫停/繼續顯示;
按b切換是否顯示平均流量圖形條;
按B切換計算2秒或10秒或40秒內的平均流量;
按T切換是否顯示每個連接的總流量;
按l打開屏幕過濾功能,輸入要過濾的字符,比如ip,按回車后,屏幕就只顯示這個IP相關的流量信息;
按L切換顯示畫面上邊的刻度;刻度不同,流量圖形條會有變化;
按j或按k可以向上或向下滾動屏幕顯示的連接記錄;
按1或2或3可以根據右側顯示的三列流量數據進行排序;
按<根據左邊的本機名或IP排序;
按>根據遠端目標主機的主機名或IP排序;
按o切換是否固定只顯示當前的連接;
按f可以編輯過濾代碼,這是翻譯過來的說法,我還沒用過這個!
按!可以使用shell命令,這個沒用過!沒搞明白啥命令在這好用呢!
按q退出監控。