3,797 瀏覽數

Linux – ntop

傳統要觀察或是統計網路流量可以透過 mrtg ,不過現在有更簡單的方式去做 ntop (http://www.ntop.org/news.php) 這是一套用來觀測網路狀態的軟體,直接透過 web 的方式來進行,使用上蠻直覺的,
ntop01ntop02
在 RHEL5 / CentOS 下使用 ntop 主要是參考了網站 http://www.wretch.cc/blog/ysy26/8266442 在的方式

安裝所需要的套件有三個,步驟如下:

  1. 下載安裝 rpmforge-release

    [root@benjr ~]# wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
    [root@benjr ~]# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
    
  2. rrdtool , ntop PRM
    ntop 需要 rrdtool 套件

    [root@benjr ~]# yum install rrdtool
    [root@benjr ~]# yum install ntop
    

    基本上 ntop 就安裝成了!!!

  3. 設定 ntop 的 admin 密碼
    這密碼主要是讓 ntop 的 admin 透過 web 的方式去修改設定時所需要的密碼.

    [root@benjr ~]# ntop -A
    Thu Nov 25 10:20:15 2010 NOTE: Interface merge enabled by default
    Thu Nov 25 10:20:15 2010 Initializing gdbm databases
    ntop startup – waiting for user response!
    
    Please enter the password for the admin user:
    Please enter the password again:
    Thu Nov 25 10:20:20 2010 Admin user password has been set
    
  4. 啟動 ntop 服務
    很可惜的是我在啟動 ntop 時 ntop 卻顯示錯誤

    
    [root@benjr ~]# service ntop start
    Starting ntop: Processing file /etc/ntop.conf for parameters…
    Mon Feb 22 10:12:04 2010 NOTE: Interface merge enabled by default
    Mon Feb 22 10:12:04 2010 Initializing gdbm databases
    FATAL ERROR: Unrecognized/unprocessed ntop options…
    , –user ntop, , –db-file-path /var/ntop, , , , –use-syslog, , , , , , ,
    run ntop –help for usage information
    
    Common problems:
    -B "filter expressions" (quotes are required)
    –use-syslog=facilty (the = is required)
    
    [FAILED]
    

    不過還是有解決方式在 http://forum.icst.org.tw/phpbb/ 網友建議把 /etc/rc.d/init.d/ntop 中的語法 由 daemon $prog -d -L @/etc/ntop.conf 修改成 daemon $prog @/etc/ntop.conf 即可

    [root@benjr ~]# vi /etc/rc.d/init.d/ntop
    daemon $prog @/etc/ntop.conf
    

現在透過 web 就可以透過 ntop 的監控來查詢網路的流量狀態.預設使用 port 3000 (ex:http:/172.16.0.38:3000),不過在使用 ntop 時有一件事很令我困惑,所有連上 http://IP:3000 的使用者皆可以看到所有網路流量的資料,不需登入帳號以及密碼.在 ntop 的 Admin / Configure / Protect URL 多加一個空白的 URL (NOTE: if you leave the URL field empty then the access is restricted to all ntop pages, otherwise,this entry matches all the pages begining with the specified string.)就可以改善這困惑的問題.之後所有登入  http://IP:3000 皆須要登入帳號以及密碼.
ntop03ntop04

RHEL5 下的 ntop
在 RHEL5 / CentOS 5 下使用 ntop 但是安裝 ntop 時我卻遇到缺少 libcap 套件以及 rrdtool 套件.

[root@benjr ~]# rpm -ivh /mnt/ntop-3.3.9-7.el5.x86_64.rpm
warning: /mnt/ntop-3.3.9-7.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6
error: Failed dependencies:
graphviz is needed by ntop-3.3.9-7.el5.x86_64
libGeoIP.so.1()(64bit) is needed by ntop-3.3.9-7.el5.x86_64
librrd_th.so.2()(64bit) is needed by ntop-3.3.9-7.el5.x86_64

透過 google 搜尋在網路上有兩篇文章詳細討論到 RHEL 5 要使用 ntop 的方式.

第一篇主要使用的 rpm 檔,不過目前 ntop 的版本已經更新到 4.x 版,雖然在 http://rpmfind.net 有看到 4.x 有 rpm 檔案的但不是給 RHEL5 所使用 http://rpmfind.net/linux/rpm2html/search.php?query=ntop&submit=Search+….
所以我這裡所採用的是 ntop http://sourceforge.net/projects/ntop/files/ 所提供的 ntop-4.0.3.tgz Stable 版本,但很可惜的是這些方式我在 RHEL5 / RHEL6 下都缺少很多套件,目前也無法解決這些問題.

最後採用的方式是 http://www.wretch.cc/blog/ysy26/8266442 網站所提供的方法也就解決 ntop 缺少套件的問題.

Ubuntu Desktop 10.10 使用 ntop
相對應於 RHEL5 / CentOS 5 在 Ubuntu Desktop 10.10 使用 ntop 就簡單多了 https://help.ubuntu.com/community/Ntop 直接透過下面幾個步驟.

  • # sudo apt-get install ntop -y
  • # sudo ntop –set-admin-password
  • # sudo /etc/init.d/ntop restart

完成,簡單容易.
Ubuntu Desktop 11.04 安裝 ntop
最近在一台 Ubuntu Desktop 11.04 安裝 ntop 依著之前的步驟進行

  • # sudo apt-get install ntop -y
  • # sudo ntop –set-admin-password
  • # sudo /etc/init.d/ntop restart

卻卡在步驟 2 ,ntop 直接跳過 admin 的密碼設定.

Fri Sep 16 13:58:55 2011  NOTE: Interface merge enabled by default
Fri Sep 16 13:58:55 2011  Initializing gdbm datebases
Fri Sep 16 13:58:55 2011  setting administrator password….
Fri Sep 16 13:58:55 2011  Admin password set…

上網查詢後發現,可能是之前的設定檔並會清除乾淨,所以這一次先用了 #apt-get purge ,除了程式外一併移除 ntop 設定檔,全部重新開始.

  • # sudo apt-get purge ntop
  • # sudo apt-get install ntop -y

這邊在安裝時就可以直接設定 admin password 所以基本上是不需要下面兩個步驟的.

  • # sudo ntop –set-admin-password
  • # sudo /etc/init.d/ntop restart

現在透過 web 就可以透過 ntop 的監控來查詢網路的流量狀態.預設使用 port 3000 ex: http:/172.16.0.38:3000 

網友的想法

  1. 自動參照通知: 常用的 Performance / Monitor 測試工具 | Benjr.tw

發表迴響