微软 mysql Python apache wordpress Firefox centos 编程 程序员 google php java nginx linux Android Windows Ubuntu 开源 云计算 shell

《高性能Linux服務器構建實戰:系統安全、故障排查、自動化運維與集群架構》——第2章 Linux網絡安全運維 2.1 網絡實時流量監測工具iftop

網絡管理是基礎運維中一項很重要的工作,在看似平靜的網絡運行中,其實暗流洶湧,要保證業務系統穩定運行,網絡運維人員必須了解網絡的流量狀態、各個網段的使用情形,帶寬的利用率、網絡是否存在瓶頸等。同時,當網絡發生故障時,必須能夠及時發現問題,迅速定位問題,進而解決問題,這就需要一些網絡監測工具的輔助,本節將介紹一款小巧但功能很強大的網絡實時流量監測工具iftop。
2.1.1 iftop能做什麽
iftop是一個免費的網卡實時流量監控工具,類似於Linux下的top命令。iftop可以監控指定網卡的實時流量、端口連接信息、反向解析ip等,還可以精確顯示本機網絡流量情況及網絡內各主機與本機相互通信的流量集合,非常適合於監控代理服務器或路由器的網絡流量。同時,iftop對檢測流量異常的主機非常有效,通過iftop的輸出可以迅速定位主機流量異常的根源,這對於網絡故障排查、網絡安全檢測是十分有用的。
2.1.2 iftop的安裝
iftop的官方網站為http://www.ex-parrot.com/pdw/iftop/,目前最新穩定版本為iftop-0.17。安裝iftop非常簡單,有源碼編譯安裝和yum源方式安裝兩種方式,這裏以CentOS 6.4版本為例,簡單介紹如下。
(1)源碼編譯安裝iftop
安裝iftop必需的軟件庫:

[root@localhost ~]# yum install  libpcap libpcap-devel ncurses ncurses-devel
[root@localhost ~]# yum install  flex byacc
下載iftop,編譯安裝:

[root@localhost ~]# wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
[root@localhost ~]# tar zxvf iftop-0.17.tar.gz
[root@localhost ~]# cd iftop-0.17
[root@localhost ~]# ./configure
[root@localhost ~]# make
[root@localhost ~]# make install
(2)yum源方式安裝
安裝iftop必需的軟件庫:

[root@localhost ~]# yum install  libpcap libpcap-devel ncurses ncurses-devel
[root@localhost ~]# yum install  flex byacc
[root@localhost ~]# wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
[root@localhost ~]# rpm -ivh epel-release-6-8.noarch.rpm
[root@localhost ~]# yum install iftop
這樣,iftop就安裝完成了。
2.1.3 使用iftop監控網卡實時流量
安裝完iftop工具後,直接輸入iftop命令即可顯示網卡實時流量信息。在默認情況下,iftop顯示系統第一塊網卡的流量信息,如果要顯示指定網卡信息,可通過“-i”參數實現。
(1)iftop輸出界面說明
執行“iftop -P -i em1”命令,得到如圖2-1所示的iftop的一個典型輸出界面。

image

iftop的輸出從整體上可以分為三大部分。
第一部分是iftop輸出中最上面的一行,此行信息是流量刻度,用於顯示網卡帶寬流量。
第二部分是iftop輸出中最大的一個部分,此部分又分為左、中、右三列,左列和中列記錄了哪些IP或主機正在和本機的網絡進行連接。其中,中列的“=>”代表發送數據,“<=”代表接收數據,通過這個指示箭頭可以很清晰地知道兩個IP之間的通信情況。最右列又分為三小列,這些實時參數分別表示外部IP連接到本機2s、10s和40s內的平均流量值。另外,這個部分還有一個流量圖形條,流量圖形條是對流量大小的動態展示,以第一部分中的流量刻度為基準。通過這個流量圖形條可以很方便地看出哪個IP的流量最大,進而迅速定位網絡中可能出現的流量問題。
第三部分位於iftop輸出的最下面,可以分為三行,其中,“TX”表示發送數據,“RX”表示接收數據,“TOTAL”表示發送和接收的全部流量。與這三行對應的有三列,其中,“cum”列表示從運行iftop到目前的發送、接收和總數據流量;“peak”列表示發送、接收以及總的流量峰值;“rates”列表示過去2s、10s、40s內的平均流量值。
(2)iftop使用參數說明
iftop還有很多附加參數和功能。執行“iftop -h”命令即可顯示iftop可使用的所有參數信息。iftop常用的參數以及含義如表2-1所示。
image

(3)iftop的交互操作
在iftop的實時監控界面中,還可以對輸出結果進行交互式操作,用於對輸出信息進行整理和過濾,在圖2-1所示界面中,按“h”鍵即可進入交互選項界面,如圖2-2所示。
iftop的交互功能和Linux下的top命令非常類似,交互參數主要分為四個部分,分別是一般參數、主機顯示參數、端口顯示參數和輸出排序參數。相關參數的含義如表2-2所示。
image

image

iftop的強大之處在於它能夠實時顯示網絡的流量狀態,監控網卡流量的來源IP和目標地址,這對於檢測服務器網絡故障、流量異常是非常有用的,只需通過一個命令就能把流量異常或網絡故障的原因迅速定位,因此,對於運維人員來說,iftop是必不可少的一個網絡故障排查工具。

延伸阅读

评论