Linux流量監(jiān)控工具 - iftop

1 iftop有什么用?

  • 監(jiān)控網(wǎng)卡的實(shí)時流量(可以指定網(wǎng)段)
  • -反向解析IP
  • 顯示端口信息等

2 安裝iftop

方法1 - 編譯安裝

  • 環(huán)境:比如make、gcc、autoconf等。安裝iftop還需要安裝libpcap和libcurses。

  • 依賴安裝

# CentOS上安裝所需依賴包:
yum -y install flex byacc  libpcap ncurses ncurses-devel libpcap-devel
# Debian上安裝所需依賴包:
apt-get install flex byacc  libpcap0.8 libncurses5
  • 下載編譯
# 可以到iftop官網(wǎng)下載最新的源碼包
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

方法2:(懶人辦法,最簡單)

  • 安裝EPEL源
yum install epel-release #如果此命令無法安裝可以嘗試以下方法
# CentOS/RHEL 5
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm
# CentOS/RHEL 6
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
# CentOS/RHEL 7
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  • 安裝好EPEL,直接以下命令安裝
# centos系統(tǒng)
yum install iftop
# Debian系統(tǒng)
apt-get install iftop

3 運(yùn)行iftop

3.1 運(yùn)行效果

iftop
image.png

3.2 iftop運(yùn)行參數(shù)

常用的參數(shù)

  • -i設(shè)定監(jiān)測的網(wǎng)卡,如:# iftop -i eth1
  • -B 以bytes為單位顯示流量(默認(rèn)是bits),如:# iftop -B
  • -n使host信息默認(rèn)直接都顯示IP,如:# iftop -n
  • -N使端口信息默認(rèn)直接都顯示端口號,如: # iftop -N
  • -F顯示特定網(wǎng)段的進(jìn)出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
  • -h(display this message),幫助,顯示參數(shù)信息
  • -p使用這個參數(shù)后,中間的列表顯示的本地主機(jī)信息,出現(xiàn)了本機(jī)以外的IP信息;
  • -b使流量圖形條默認(rèn)就顯示;
  • -f這個暫時還不太會用,過濾計算包用的;
  • -P使host信息及端口信息默認(rèn)就都顯示;
  • -m設(shè)置界面最上邊的刻度的最大值,刻度分五個大段顯示,例:# iftop -m 100M

4 界面說明

4.1 iftop界面相關(guān)說明

  1. 界面上面顯示的是類似刻度尺的刻度范圍,為顯示流量圖形的長條作標(biāo)尺用的
  2. 中間的<= =>這兩個左右箭頭,表示的是流量的方向
  • TX:發(fā)送流量
  • RX:接收流量
  • TOTAL:總流量
  • Cumm:運(yùn)行iftop到目前時間的總流量
  • peak:流量峰值
  • rates:分別表示過去 2s 10s 40s 的平均流量

4.2 進(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切換計算2秒或10秒或40秒內(nèi)的平均流量;
  • 按T切換是否顯示每個連接的總流量;
  • 按l打開屏幕過濾功能,輸入要過濾的字符,比如ip,按回車后,屏幕就只顯示這個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可以編輯過濾代碼,這是翻譯過來的說法,我還沒用過這個!
  • 按!可以使用shell命令,這個沒用過!沒搞明白啥命令在這好用呢!
  • 按q退出監(jiān)控。

5 常見問題

問題1

make: yacc: Command not found
make: *** [grammar.c] Error 127
  • 解決方法:apt-get install byacc / yum install byacc

問題2

configure: error: Curses! Foiled again!
(Can't find a curses library supporting mvchgat.)
Consider installing ncurses.
  • 解決方法:apt-get install libncurses5-dev / yum install ncurses-devel
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。