首頁 > 軟體

網路實時流量監控工具iftop

2020-06-16 17:32:59

網路實時流量監控工具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 &

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-09/135235.htm


IT145.com E-mail:sddin#qq.com