Linux服務器上監控網絡帶寬的18個經常使用命令nload, iftop,iptraf-ng, nethogs, vnstat. nagios,運用Ntop監控網絡流量

Linux服務器上監控網絡帶寬的18個經常使用命令

本文介紹了一些能夠用來監控網絡使用狀況的Linux命令行工具。這些工具能夠監控經過網絡接口傳輸的數據,並測量目前哪些數據所傳輸的速度。入站流量和出站流量分開來顯示。html

這些工具使用不一樣的機制來製做流量報告。nload等一些工具能夠讀取"proc/net/dev"文件,以得到流量統計信息;而一些工具使用pcap庫來捕獲全部數據包,而後計算總數據量,從而估計流量負載。python

下面是按功能劃分的命令名稱。mysql

  • 監控整體帶寬使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload
  • 監控整體帶寬使用(批量式輸出)――vnstat、ifstat、dstat和collectl
  • 每一個套接字鏈接的帶寬使用――iftop、iptraf-ng、tcptrack、pktstat、netwatch和trafshow
  • 每一個進程的帶寬使用――nethogs
  • nagiosweb------nagios

1. nloadlinux

nload是一個命令行工具,讓用戶能夠分開來監控入站流量和出站流量。它還能夠繪製圖表以顯示入站流量和出站流量,視圖比例能夠調整。用起來很簡單,不支持許多選項。ios

因此,若是你只須要快速查看總帶寬使用狀況,無需每一個進程的詳細狀況,那麼nload用起來很方便。結果是bit/sweb

  1. $ nload 

安裝nload:Fedora和Ubuntu在默認軟件庫裏面就有nload。CentOS用戶則須要從Epel軟件庫得到nload。sql

 

2. iftopshell

iftop可測量經過每個套接字鏈接傳輸的數據;它採用的工做方式有別於nload。iftop使用pcap庫來捕獲進出網絡適配器的數據包,而後彙總數據包大小和數量,搞清楚總的帶寬使用狀況。數據庫

雖然iftop報告每一個鏈接所使用的帶寬,但它沒法報告參與某個套按字鏈接的進程名稱/編號(ID)。不過因爲基於pcap庫,iftop可以過濾流量,並報告由過濾器指定的所選定主機鏈接的帶寬使用狀況。api

  1. $ sudo iftop -n 

n選項能夠防止iftop將IP地址解析成主機名,解析自己就會帶來額外的網絡流量。

安裝iftop:Ubuntu/Debian/Fedora用戶能夠從默認軟件庫得到它。CentOS用戶能夠從Epel得到它。

 

3. iptraf

iptraf是一款交互式、色彩鮮豔的IP局域網監控工具。它能夠顯示每一個鏈接以及主機之間傳輸的數據量。下面是屏幕截圖。

  1. $ sudo iptraf 

 

4. nethogs

nethogs是一款小巧的"net top"工具,能夠顯示每一個進程所使用的帶寬,並對列表排序,將耗用帶寬最多的進程排在最上面。萬一出現帶寬使用忽然激增的狀況,用戶迅速打開nethogs,就能夠找到致使帶寬使用激增的進程。nethogs能夠報告程序的進程編號(PID)、用戶和路徑。

  1. $ sudo nethogs 

安裝nethogs:Ubuntu、Debian和Fedora用戶能夠從默認軟件庫得到。CentOS用戶則須要Epel。

 

5. bmon

bmon(帶寬監控器)是一款相似nload的工具,它能夠顯示系統上全部網絡接口的流量負載。輸出結果還含有圖表和剖面,附有數據包層面的詳細信息。

安裝bmon:Ubuntu、Debian和Fedora用戶能夠從默認軟件庫來安裝。CentOS用戶則須要安裝repoforge,由於Epel裏面沒有bmon。

bmon支持許多選項,可以製做HTML格式的報告。欲知更多信息,請參閱參考手冊頁。

6. slurm

slurm是另外一款網絡負載監控器,能夠顯示設備的統計信息,還能顯示ASCII圖形。它支持三種不一樣類型的圖形,使用c鍵、s鍵和l鍵便可激活每種圖形。slurm功能簡單,沒法顯示關於網絡負載的任何更進一步的詳細信息

  1. $ slurm -s -i eth0 

 

7. tcptrack

tcptrack相似iftop,使用pcap庫來捕獲數據包,並計算各類統計信息,好比每一個鏈接所使用的帶寬。它還支持標準的pcap過濾器,這些過濾器可用來監控特定的鏈接。

安裝tcptrack:Ubuntu、Debian和Fedora在默認軟件庫裏面就有它。CentOS用戶則須要從RepoForge得到它,由於Epel裏面沒有它。

 

8. vnstat

vnstat與另外大多數工具備點不同。它實際上運行後臺服務/守護進程,始終不停地記錄所傳輸數據的大小。以外,它能夠用來製做顯示網絡使用歷史狀況的報告。

  1. $ service vnstat status 
  2. * vnStat daemon is running 

運行沒有任何選項的vnstat,只會顯示自守護進程運行以來所傳輸的數據總量。

  1. $ vnstat 
  2. Database updated: Mon Mar 17 15:26:59 2014 
  3. eth0 since 06/12/13 
  4. rx:  135.14 GiB      tx:  35.76 GiB      total:  170.90 GiB 
  5. monthly 
  6. rx      |     tx      |    total    |   avg. rate 
  7.  
  8. ------------------------+-------------+-------------+------------- 
  9. Feb '14      8.19 GiB  |    2.08 GiB  |   10.27 GiB |   35.60 kbit/s 
  10. Mar '14      4.98 GiB  |    1.52 GiB  |    6.50 GiB |   37.93 kbit/s 
  11. ------------------------+-------------+-------------+------------- 
  12. estimated       9.28 GiB |    2.83 GiB  |   12.11 GiB | 
  13. daily 
  14. rx      |     tx      |    total    |   avg. rate 
  15. ------------------------+-------------+-------------+------------- 
  16. yesterday     236.11 MiB |   98.61 MiB |  334.72 MiB |   31.74 kbit/s 
  17. today    128.55 MiB |   41.00 MiB |  169.56 MiB |   24.97 kbit/s 
  18. ------------------------+-------------+-------------+------------- 
  19. estimated       199 MiB |      63 MiB |     262 MiB | 

想實時監控帶寬使用狀況,請使用"-l"選項(實時模式)。而後,它會顯示入站數據和出站數據所使用的總帶寬量,但很是精確地顯示,沒有關於主機鏈接或進程的任何內部詳細信息。

  1. $ vnstat -l -i eno1
  2. Monitoring eth0...    (press CTRL-C to stop) 
  3. rx:       12 kbit/s    10 p/s          tx:       12 kbit/s    11 p/s 

vnstat更像是一款製做歷史報告的工具,顯示天天或過去一個月使用了多少帶寬。它並非嚴格意義上的實時監控網絡的工具。

vnstat支持許多選項,支持哪些選項方面的詳細信息請參閱參考手冊頁。

 

9. bwm-ng

bwm-ng(下一代帶寬監控器)是另外一款很是簡單的實時網絡負載監控工具,能夠報告摘要信息,顯示進出系統上全部可用網絡接口的不一樣數據的傳輸速度

  1. $ bwm-ng 
  2. bwm-ng v0.6 (probing every 0.500s), press 'h' for help 
  3. input: /proc/net/dev type: rate 
  4. /         iface                   Rx                   Tx                T 
  5. ot================================================================= 
  6. ==           eth0:           0.53 KB/s            1.31 KB/s            1.84 
  7. KB             lo:           0.00 KB/s            0.00 KB/s            0.00 
  8. KB------------------------------------------------------------------------------------------------------------- 
  9. total:           0.53 KB/s            1.31 KB/s            1.84 
  10. KB/s 

若是控制檯足夠大,bwm-ng還能使用curses2輸出模式,爲流量繪製條形圖。

  1. $ bwm-ng -o curses2 

 

10. cbm:Color Bandwidth Meter

這是一款小巧簡單的帶寬監控工具,能夠顯示經過諸網絡接口的流量大小。沒有進一步的選項,僅僅實時顯示和更新流量的統計信息。

 

11. speedometer

這是另外一款小巧而簡單的工具,僅僅繪製外觀漂亮的圖形,顯示經過某個接口傳輸的入站流量和出站流量。

  1. $ speedometer -r eth0 -t eth0 

 

12. pktstat

pktstat能夠實時顯示全部活動鏈接,並顯示哪些數據經過這些活動鏈接傳輸的速度。它還能夠顯示鏈接類型,好比TCP鏈接或UDP鏈接;若是涉及HTTP鏈接,還會顯示關於HTTP請求的詳細信息。

  1. $ sudo pktstat -i eth0 -nt 

13. netwatch

netwatch是netdiag工具庫的一部分,它也能夠顯示本地主機與其餘遠程主機之間的鏈接,並顯示哪些數據在每一個鏈接上所傳輸的速度。

  1. $ sudo netwatch -e eth0 -nt 

14. trafshow

與netwatch和pktstat同樣,trafshow也能夠報告當前活動鏈接、它們使用的協議以及每條鏈接上的數據傳輸速度。它能使用pcap類型過濾器,對鏈接進行過濾。

只監控TCP鏈接

  1. $ sudo trafshow -i eth0 tcp 

15. netload

netload命令只顯示關於當前流量負載的一份簡短報告,並顯示自程序啓動以來所傳輸的總字節量。沒有更多的功能特性。它是netdiag的一部分。

  1. $ netload eth0 

16. ifstat

ifstat可以以批處理式模式顯示網絡帶寬。輸出採用的一種格式便於用戶使用其餘程序或實用工具來記入日誌和分析。

  1. $ ifstat -t -i eth0 0.5 
  2. Time           eth0 
  3. HH:MM:SS   KB/s in  KB/s out 
  4. 09:59:21       2.62      2.80 
  5. 09:59:22       2.10      1.78 
  6. 09:59:22       2.67      1.84 
  7. 09:59:23       2.06      1.98 
  8. 09:59:23       1.73      1.79 

安裝ifstat:Ubuntu、Debian和Fedora用戶在默認軟件庫裏面就有它。CentOS用戶則須要從Repoforge得到它,由於Epel裏面沒有它。

 

17. dstat

dstat是一款用途普遍的工具(用python語言編寫),它能夠監控系統的不一樣統計信息,並使用批處理模式來報告,或者將相關數據記入到CSV或相似的文件。這個例子顯示瞭如何使用dstat來報告網絡帶寬。

  1. $ dstat -nt 
  2. -net/total- ----system---- 
  3. recv  send|     time 
  4. 0     0 |23-03 10:27:13 
  5. 1738B 1810B|23-03 10:27:14 
  6. 2937B 2610B|23-03 10:27:15 
  7. 2319B 2232B|23-03 10:27:16 
  8. 2738B 2508B|23-03 10:27:17 

18. collectl

collectl以一種相似dstat的格式報告系統的統計信息;與dstat同樣,它也收集關於系統不一樣資源(如處理器、內存和網絡等)的統計信息。這裏給出的一個簡單例子顯示瞭如何使用collectl來報告網絡使用/帶寬。

  1. $ collectl -sn -oT -i0.5 
  2. waiting for 0.5 second sample... 
  3. #         <----------Network----------
  4. #Time       KBIn  PktIn  KBOut  PktOut 
  5. 10:32:01      40     58     43      66 
  6. 10:32:01      27     58      3      32 
  7. 10:32:02       3     28      9      44 
  8. 10:32:02       5     42     96      96 
  9. 10:32:03       5     48      3      28 

 

結束語

上述幾個使用方便的命令能夠迅速檢查Linux服務器上的網絡帶寬使用狀況。不過,這些命令須要用戶經過SSH登陸到遠程服務器。另外,基於Web的監控工具也能夠用來實現一樣的任務。

ntop和darkstat是面向Linux系統的其中兩個基本的基於Web的網絡監控工具。除此以外還有企業級監控工具,好比nagios,它們提供了一批功能特性,不只僅能夠監控服務器,還能監控整個基礎設施。

原文連接:http://www.binarytides.com/linux-commands-monitor-network/

 

 

 

 

 

 

 

運用Ntop監控網絡流量

____ 網絡流量反映了網絡的運行狀態,是判別網絡運行是否正常的關鍵數據,在實際的網絡中,若是對網絡流量控制得很差或發生網絡擁塞,將會致使網絡吞吐量降低、 網絡性能下降。經過流量測量不只能反映網絡設備(如路由器、交換機等)的工做是否正常,並且能反映出整個網絡運行的資源瓶頸,這樣管理人員就能夠根據網絡 的運行狀態及時採起故障補救措施和進行相關的業務部署來提升網絡的性能。對網絡進行流量監測分析,能夠創建網絡流量基準,經過鏈接會話數的跟蹤、源/目的 地址對分析、TCP流的分析等,可以及時發現網絡中的異常流量,進行實時告警,從而保障網絡安全。本節將介紹的Ntop即可以提供詳細的網絡流量明細表。 在Ossim系統中集成了Ntop能夠直接使用。

1.Ntop簡介

____ Ntop是一種監控網絡流量的工具,用NTOP顯示網絡的使用狀況比其餘一些網管軟件更加直觀、詳細。NTOP甚至能夠列出每一個節點計算機的網絡帶寬利用率。

2.Ntop主要功能

Ntop主要提供如下一些功能:

①.自動從網絡中識別有用的信息;

②.將截獲的數據包轉換成易於識別的格式;

③.對網絡環境中通訊失敗的狀況進行分析;

④.探測網絡環境中的通訊瓶頸,記錄網絡通訊的時間和過程。

____ Ntop能夠經過分析網絡流量來肯定網絡上存在的各類問題;也能夠用來判斷是否有黑客正在攻擊網絡系統;還能夠很方便地顯示出特定的網絡協議、佔用大量帶寬的主機、各次通訊的目標主機、數據包的發送時間、傳遞數據包的延時等詳細信息。

3. Ntop支持的協議

____ Ntop比MRTG更容易安裝,若是用手機話費來比喻流量,MRTG便如同提供總費用的電話帳單,而Ntop則是列出每一筆費用的明細同樣。目前市場上可 網管型的交換機、路由器都支持SNMP協議,Ntop支持簡單網絡管理協議,因此能夠進行網絡流量監控。Ntop幾乎能夠監測網絡上的全部協 議: TCP/UDP/ICMP、(R)ARP、IPX、Telnet、DLC、Decnet、DHCP-BOOTP、AppleTalk、 Netbios、TCP/UDP、FTP、HTTP、DNS、Telnet、SMTP/POP/IMAP、SNMP、NNTP、NFS、X十一、SSH和 基於P2P技術的協議eDonkey。

4.Ntop支持插件

①.ICMPWATCH:

____ 用於端口檢測不少人都已經知道了能夠藉助NETSTAT -AN來查看當前的鏈接與開放的端口,但NETSTAT並不萬能,好比Win2000遭到OOB 攻擊的時候,不等NETSTAT就已經死機了。爲此,出現了一種特殊的小工具——端口監聽程序。端口監聽並非一項複雜的技術,但卻能解決一些局部問題。

②.NetFlow:

____ 近年來,不少服務提供商一直使用NetFlow。由於NetFlow在大型廣域網環境裏具備伸縮能力,能夠幫助支持對等點上的最佳傳輸流,同時能夠用來進行創建在單項服務基礎之上的基礎設施最優化評估,解決服務和安全問題方面所表現出來的價值,爲服務計費提供基礎。

③.rrdPlugin:

____ 用於生成流量圖。RRD的做者,也是MRTG的做者,RRD能夠簡單的說是MRTG的升級版,它比MRTG更靈活,更適合用shell、perl等程序來調用,成生所要的圖片。

④.sFlow:

____ sFlow(RFC 3176)是基於標準的最新網絡協議,可以解決當前網絡管理人員面臨的不少問題。sFlow已經成爲一項線速運行的「永遠在線」技 術,能夠將sFlow技術嵌入到網絡路由器和交換機 ASIC芯片中。與使用鏡像端口、探針和旁路監測技術的傳統網絡監視解決方案相比,sFlow可以明 顯地下降實施費用,同時可使面向每個端口的全企業網絡監視解決方案成爲可能。與數據包採樣技術(如RMON)不一樣,sFlow是一種導出格式,它增長 了關於被監視數據包的更多信息,並使用嵌入到網絡設備中的sFlow代理轉發被採樣數據包,所以在功能和性能上都超越了當前使用的RMON、 RMON II和NetFlow技術。sFlow技術獨特之處在於它可以在整個網絡中,以連續實時的方式監視每個端口,但不須要鏡像監視端口,對整個網 絡性能的影響也很是小。

____ 另外,Ntop還容許用戶安裝插件用,以提供對於特定協議下具體統計數據的報告,如NFS和NetBIOS插件。固然,Ntop也能夠生成運行它的主機的統計數據,列出開放套接字、接收和發送的數據以及每一個過程的相關主機對。

2、 Ntop系統的部署

對於共享網絡,只須將鏈接到共享網絡中的流量採集點的網絡接口置爲混雜工做模式,就可實現採集網絡流量數據的功能。與交換網絡相比,網絡發生擁塞 時,集線器網絡的可靠性很低,SNMP問詢命令和迴應數據包可能發生延遲或丟失,這時候Ntop檢測數據也就不許確了,對於交換網絡的狀況,須要交換設備 的支持(如具備SPAN端口的交換機)。流量採集主機鏈接到交換設備的一個端口後,經過交換機的SPAN至 (Switched PortAnalyzer)端口把要分析的全部流量鏡像到該採集點上。SPAN在使用中很是靈活,能夠監視交換機的單個端口,也能夠 監視多個端口,還能夠對VLAN進行監視。這就使流量異常監測系統具備了很大的靈活性。在一些流量比較大的企業,咱們通常選用兩個網卡,一塊網卡做爲 Ntop專用嗅探網卡,連到核心交換機的鏡像端口,另外一塊配上IP地址並開放相應端口(默認是3000,也能夠修改),鏈接交換機的做用是用來登陸Web 界面進行管理,Ntop的部署如圖1所示。

圖1 Ntop的安裝位置

____ Ntop沒有本身的捕包工具,它須要一個外部的捕包程序庫:libpcap。Ntop利用libpcap獨立地從物理鏈路上進行捕包,它能夠藉助 libpcap的平臺成爲一個真正的與平臺無關的應用程序。它直接從網卡捕包的任務由libpcap承擔,因此咱們必須確保Linux系統下正確安裝了 libpcap。

三.Ntop安裝配置

____ Ntop工做時須要使用zlib、gd、libpcap及libpng的函數,安裝前須檢查服務器中是否已經含有下列的軟件:zlib(zlib-1.1.3-xx以上)、gd(gd-1.3.xx以上)、libpng。可使用RPM來確認:

rpm -qa | grep libpcap

rpm -qa | grep zlib

rpm -qa | grep gd

rpm -qa | grep libpng

若是發現缺乏任何一個就須要自行安裝,舉例以下。

1.安裝libpcap

# tar zxvf libpcap-0.9.8.tar.gz

# cd libpcap-0.9.8

#./configure

# make&&make install

2.安裝RRDtool

____ RRDtool是指Round Robin Database 工具(環狀數據庫)。Round Robin是一種處理定量數據以及當前元素指針的技術。 想象一個周邊標有點的圓環,這些點就是時間存儲的位置。從圓心畫一條到圓周的某個點的箭頭,這就是指針。一個圓環上沒有起點和終點,能夠一直存儲下去。經 過一段時間後,全部可用的位置都會被用過,該循環過程會自動重用原來的位置。這樣,數據集不會增大,而且不須要維護。

#tar -zxvf rrdtool-1.3.1.tar.gz

#export PKG_CONFIG_PATH=/usr/lib/pkgconfig/

#./configure

#make

#make install

3.安裝Ntop

下載ntop安裝包: http://www.nmon.net/packages/rpm/x86_64/ntop/

#rpm -ivh ntop-3.3.10-.x86.rpm

#yum install ntop \\CentOS系統

#apt-get install ntop \\Debian 系統

____ 注意:在Ossim 系統中已經爲咱們安裝好Ntop軟件,能夠直接使用。若是您選擇單獨安裝能夠繼續參考如下內容。另外若是您使用Red Hat Linux 、Fedora或CentOS請首先關閉 SELinux功能。

4.創建Ntop用戶並配置權限

#useradd ntop

5.創建Ntop存放數據的目錄

#mkdir -p /var/ntop

#chown -R ntop.ntop /var/ntop

6.複製ntop.conf配置文件

#cp /ntop-3.3.10/ntop.conf.sample /etc/ntop.conf

7.設置管理密碼

在執行ntop以前必須先創建管理員密碼,長度至少5位。使用參數-A創建管理員密碼

#ntop -A

8. Ntop 的管理員密碼重置方法

Ntop的用戶密碼文件是通過加密存儲在ntop_pw.db文件中,Ntop用戶密碼存儲位置:

64位版本:/var/lib/ntop_db_64/ntop_pw.db

64位版本需先刪除其密碼文件ntop_pw.db,而後用notp -A 重置管理員密碼後,最後重啓ntop服務就能生效。

#/etc/init.d/ntop restart

另外,注意一個細節,ntop的訪問日誌位置在/var/log/ntop/目錄下,它的pcap log在/var/lib/ntop目錄下。

4、應用Ntop

1.啓動Ntop

#/usr/local/bin/ntop -i eth0 -d -L -u ntop -P /var/ntop --use-syslog=daemon

命令行中各項簡要介紹以下。

l -i "eth0":指定監聽網卡。

l -d:後臺執行。

l -L:輸出日誌寫入系統日誌(/var/log/messages)。

l -u ntop:指定使用Ntop身份執行。

l -P /var/ntop:指定Ntop數據庫的文件位置。

l -use-syslog=daemon:使用系統日誌進程。

l -w:使用其餘端口,指定ntop使用其餘端口,例如執行ntop –w 1900之後,即可以使用 http://ip:1900 來鏈接ntop

2.利用Web瀏覽器查看Ntop情況

Ntop的通信端口爲3000,因此在瀏覽器使用IP:3000進入ntop即可看到ntop歡迎界面

,如圖2所示。

 

圖2 查看Ntop情況

3.查看總體流量

____ 對於網絡總體流量的統計,分別是Protocol Traffic Counters、IP Traffic Counters、 TCP/UDP Connections Stats、Active TCP Connections List、Peers List。按照不一樣的 Packet,將流量數據存放到不一樣的Counter中。對網絡總體流量進行分類統計,包括下列情形。

流量分佈情形:區分爲本網絡主機之間、本網絡與外部網絡之間、外部網絡與本網絡之間的網絡流量統計。

數據包分佈情形:依據數據包大小、廣播形態及IP與非IP等加以分類及統計。

協議使用及分佈情形:本網絡各主機傳送與接收數據所使用的通訊協議種類與數據傳輸量。

經過Summary→Traffic查看總體流量(如圖3所示),網絡流量會以清晰的表格形式顯示,如圖3所示。

圖3 查看總體流量

____ 在圖3中,Summary內容爲目前玩過的總體概況,包括流量,主機網絡負載等。All Protocols選項能夠查看各主機佔用的帶寬和各時段使用的 流量明細。IP顯示網絡主機的流量情況和排名;Utils能夠顯示ntop記錄的網絡情況、流量統計並能夠將數據存儲爲txt,xml等格 式;Plugins包含了ntop所支持的插件類型;Admin選項能夠對ntop進行配置,例如咱們能夠配置Pcap Log的路徑,這對於解決 Ntop數據佔用磁盤空間問題頗有幫助,默認路徑爲/usr/local/ntop/var/ntop目錄下。另外爲了節約磁盤空間能夠下降 Max Hashes和Max Sessions的值。此外還能夠進行ntop重啓中止等操做。另外,若是ntop啓動失敗,你能夠到/var/log /messages中尋找錯誤日誌。若是你須要設置開機自動啓動還能夠到/etc/rc.d/rc.local文件最後加入啓動ntop的命令。若是你想 修改ntop外觀能夠編輯ntop的HTML文檔、或CSS式樣文件,這些內容在/usr/share/ntop/html目錄下。

圖4 以表格形式顯示網絡流量

4.查看通訊數據包(協議)比例

____ 數據包對於網絡管理的網絡安全而言具備相當重要的意義,如防火牆的做用就是檢測網絡中的數據包,判斷其是否違反了預先設置的規則,若是違反就加以阻止。 Linux網絡中最多見的數據包是TCP和UDP。若是想了解一個計算機傳輸了哪些數據,能夠雙擊計算機名稱便可分析出用戶各類網絡傳輸的協議類型和佔用 帶寬的比例,如圖5所示。

圖5查看協議類型和佔用比例

5.與Google Map整合:Ntop中標註IP所在國家的位置

____ 選取Summary→Hosts World Map Ntop命令,與Google Earth(谷歌地球)進行技術整合,能將收集到的信息實時地在谷 歌地球上顯示出來。首先要有Gmail帳號,而後到http://code.google.com/apis/maps/signup.html上申請 Google Maps API的密鑰,成功後如圖6所示。

圖6註冊使用Google Maps API

____ 接下來複制密鑰,選擇Admin→Configure→Preferences,這時會提示輸入用戶名、密碼,如圖7所示。

圖7  定位到Admin→Configure→Preferences

____ 在如圖8所示的界面中找到 google_maps.key 選項,並把密鑰填寫進去。注意,調整參數須要輸入用戶和密碼,若是忘記了Ntop密碼,能夠經過root輸入「/usr/sbin/ntop –A」來修改用戶admin的密碼。

圖8 填寫密鑰

保存退出後,在Chrome 瀏覽器中再次選擇Hosts World Map,配置完成。

注意:因爲Google Maps的限制,不能跟蹤全部IP地址。若是在設置時出現「 Please enable make sure that the ntop html/ directory is properly installed 」提示錯誤,多半是權限問題,可採用如下方法解決:

#chown -R ntop:ntop  /var/lib/ntop/

#chown -R ntop:ntop  /usr/share/ntop/

# ln -s /usr/share/ntop/html  /var/lib/ntop/

# /etc/init.d/ntop restart

6.數據轉儲功能

____ Ntop還支持把流量轉儲成其餘格式(如文本文件、Perl、PHP、Python),以便其餘外部程序能夠對數據進行深加工。能夠選擇Utils→Data Dump命令,如圖9所示。

圖9定位到Utils→Data Dump

如咱們選擇報告主機類型,格式爲PHP。則轉儲數據以下:

'1.1.1.12' => array(

'hostResolvedName' => '1.1.1.12',

'pktSent' => 12628,

'pktRcvd' => 32668,

'ipv4BytesSent' => 1818480,

'ipv4BytesRcvd' => 30936426,

'bytesMulticastSent' => 0,

'pktMulticastSent' => 0,

'bytesMulticastRcvd' => 0,

'pktMulticastRcvd' => 0,

'bytesSent' => 1818480,

'bytesRcvd' => 30936426,

'ipv4BytesSent' => 1818480,

'ipv4BytesRcvd' => 30936426,

'ipv6BytesSent' => 0,

'ipv6BytesRcvd' => 0,

'tcpBytesSent' => 1813788,

'tcpBytesRcvd' => 30936426,

'udpBytesSent' => 4692,

'udpBytesRcvd' => 0,

'icmpSent' => 0,

'icmpRcvd' => 0,

),

7.查看網絡流量圖(Local Network Traffic Map)

____ 首先,在Admin→Configure→Preference中,配置dot.path的參數爲 /usr/bin/dot,而後選擇 IP→Local→Network Traffic Map,就能夠看到一張反應各個主機流量流向的拓撲圖,箭頭方向表明數據的流向,鼠標點擊相應的IP 地址就能看到很是詳細的IP統計信息。圖10是Ntop根據網絡流量狀況自動生成的拓撲圖。

圖10Ntop檢測數據流向圖

8.查看主機流量

____ 管理人員在查看了網絡總體流量信息後,還但願能深刻分析網絡中的主機流量狀況,從而進行流量限制等方面的管理工做,能夠選擇IP→Summary→Traffic,如圖11所示。

圖11 查看主機流量

查看傳輸層的會話,能明顯看出接收和發送了多少數據包,如圖12所示。

圖12 查看傳輸層的會話

9.啓用插件,Ntop還提供了5個插件,如圖13所示。

圖13 Ntop提供的插件

(1)ICMPWatch:用於端口檢測,不少人都已經知道了能夠藉助「netstat –an」來查看當前的鏈接與開放的端口,但 netstat並非萬能的,在遭到OOB攻擊時,不等使用netstat命令,機器就已經死機了。爲此,出現了一種特殊的小工具——端口監聽程序。端口 監聽並非一項複雜的技術,但卻能解決一些局部問題。

____ 圖中的圖標  表示這是一臺Linux主機,圖標  表示是Windows主機,  表示郵件服務器,  表示是Web服務器。當咱們須要查看全部服務器發送流量的大小排序的,只要單擊Byte下方的Sent便可,若單擊Host下方的某一臺主機,還能詳細顯 示當前主機的IP、主機名、MAC、每小時發送/接收數據包的大小、協議分佈類型統計等信息,如圖14所示,很是詳細。

圖14

(2)NetFlow:近年來,不少服務提供商一直使用NetFlow。由於NetFlow在大型廣域網環境裏具備伸縮能力,能夠幫助支持對等點 上的最佳傳輸流,同時能夠用來創建在單項服務基礎之上的基礎設施最優化評估,解決服務和安全問題方面所表現出來的價值,爲服務計費提供基礎。 NetFlow是一種數據交換方式,其工做原理是:NetFlow利用標準的交換模式處理數據流的第一個IP包數據,生成NetFlow 緩存,隨後一樣 的數據基於緩存信息在同一個數據流中進行傳輸,再也不匹配相關的訪問控制等策略,NetFlow緩存同時包含了隨後數據流的統計信息。

____ 下面咱們分兩步走,首先在路由器上配置一個NetFlow轉發流量,而後在Ntop上增長一個NetFlow接收流量。啓用NetFlow,定位到 Plugins→NetFlow→Activate,而後添加設備,在NetFlow Device Configuration中選擇 Add NetFlow Device選項,如圖15所示,設置端口能夠本身定義,只要不與現有的衝突就能夠,接口地址填寫打算監控的網段地址。

圖15NetFlow的配置

圖 16 網絡接口選擇

____ 接着,咱們須要在路由器上作設置,NetFlow早期都是在路由器上實現的,可是如今一些高端的交換機支持NetFlow,好比Cisco6500系列。

首先須要全局配置,啓用NetFlow:

ip flow-export version 5

ip flow-sampling-mode packet-interval 100

在須要監控的Interface,啓用NetFlow:

Interface FastEthernet 9/0/1

ip address 192.168.150.20 255.255.255.0

ip route-cache flow sampled

show ip cache fow //查看NetFlow統計信息

show ip flow export //查看NetFlow輸出信息

____ 不是全部的NetFlow源設備都支持基於Interface的NetFlow,好比Cisco4500就不支持。也就是說它不能在某個 Interface配置打開NetFlow,要麼全部端口啓用,要麼都不啓用,重要的是沒法區分不一樣Interface上的流量狀況,只能看到整個設備所 有的流量狀況。

在實踐中配置NetFlow須要注意如下兩點:

(1)根據NetFlow流的單向性,部署NetFlow時應根據網絡拓撲儘可能在邊界的兩個端設備上配置協議。

(2)對於Catalyst 6000三層交換設備,經過Supervisor Engine 1和MultilayerSwitch Feature Card CMSFC支持多層交換(MLS)來實現快速交換。

____ 而後,是Ntop的設置環節,這很重要,各個參數不能設置錯誤。首先是NetFlow的設備名稱,能夠隨便填寫一個。接下來是使用的端口,這裏必定要填寫 路由器上NetFlow的應用端口,例如3217。同時還要針對NetFlow監控的地址網段作設置,例如筆者的是 192.168.150.0/255.255.255.0。如圖10.24所示,每項參數修改設置完畢後直接單擊右邊的按鈕生效,完成後定位到菜單中的 Admin→switch NIC命令,找到咱們添加的這個NetFlow設備點Switch Nic按鈕讓其生效,生效後咱們就能夠方便查看流量了,如 圖17所示。

圖17 查看流量

(3)rrdPlugin:用於生成流量圖。RRD能夠簡單的說是MRTG的升級版,它比MRTG更靈活,更適合用Shell、Perl等程序來調用,生成所要的圖片。

(4)sFlow:sFlow(RFC 3176)是基於標準的最新網絡導出協議,可以解決當前網絡管理人員面臨的不少問題。sFlow已經成爲 一項線速運行的「永遠在線」技術,能夠將sFlow技術嵌入到網絡路由器和交換機ASIC芯片中。與使用鏡像端口、探針和旁路監測技術的傳統網絡監視解決 方案相比,sFlow可以明顯地下降實施費用,同時可使面向每個端口的全企業網絡監視解決方案成爲可能。與數據包採樣技術(如RMON)不 同,sFlow是一種導出格式,它增長了關於被監視數據包的更多信息,並使用嵌入到網絡設備中的sFlow代理轉發被採樣數據包,所以在功能和性能上都超 越了當前使用的RMON、RMON II和NetFlow技術。sFlow技術的獨特之處在於它可以在整個網絡中,以連續實時的方式監視每個端口,但不 須要鏡像監視端口,對整個網絡性能的影響也很是小。

(5)手機插件:這個功能頗有意思,咱們能夠用智能手機,隨時隨地監控咱們的網絡,如圖18所示。

 

圖18 手機插件

插件使用高清演示 : http://www.tudou.com/programs/view/Jvq8HOBDOuI/

Ntop在病毒查殺方面的應用

____ 某客戶感染病毒案例:某天上班時間,網絡性能忽然降低,致使很多用戶沒法上網傳輸文件。首先懷疑是設備故障,後來又查找了線路是否有問題,但都能ping 通從而一一排除,隨後在Ntop檢測的「IP協議」菜單中發現網絡負荷維持在95%以上。在「Network Traffic:Data Sent」圖表 中顯示局域網中一臺機器發送大量的數據包,這臺機器的IP地址和MAC也能找到。基本能判定這臺機器中了病毒在發送大量的UDP包,從而形成了廣播風暴, 致使網絡性能急速降低,如圖19所示,是Ntop捕捉到的隨機發送的地址列表。找到故障節點後,隨後根據MAC-IP-牆點的對應,及時將這臺機器隔離出 網絡進行殺毒處理。

圖19 病毒隨機發送數據包列表

____ 除此以外,Ntop另外一個重要功能是探測DDoS類型攻擊,主要是它能夠經過分析網路流量來肯定網路上存在的各類問題,也能夠用來判斷是否有駭客正在攻擊 網路系統,還能夠很方便地顯示出特定的網路協議、佔用大量頻寬的 主機、各次通訊的目標主機、資料包的發送時間、傳遞資料包的延時等詳細訊息。

___ 上面介紹了一些ntop工具的特色,不過還有不少因爲篇幅限制沒有給你們介紹,要知道Ntop這個工具只是Ossim平臺的一個很小的模塊,Ossim系 統中集成的ntop能夠將netflow數據存入mysql數據庫,並能夠再下次系統啓動後繼續從數據庫中讀取,不會影響新生成的數據分析圖。要了解 Ossim是什麼,請參考個人其餘有關博文或視頻。

相關文章
相關標籤/搜索