攫取精华.为我所用.yszll.blog.chinaunix.net
yszll
全部博文(184)
2009年(1)
2008年(63)
2007年(39)
2006年(79)
2005年(2)
newstu
zouxinxi
heu
lc954752
taoyi518
Penina
ssffzz1
ToToni
城风蔚然
分类: LINUX
2006-12-13 10:47:06
[ 安裝心得 ] 如何設定 ntop ﹖作者﹕網中人 <>-------------前言﹕相信不少朋友都已經知道如何用 mrtg 來監測網路流量了。但﹐我知道更多朋友甚至希望能有一個工具﹐能夠輕鬆直觀的將網路使用量的情況顯示出來﹐比方說﹐以使用量進行排序﹐諸如此類的。ntop 就是這樣一個工具了。下面為大家介紹如何用 tarball 和 RPM 的方法來安裝 ntop 。另外,本文經過更新,之前在 rh7.1/rh7.2 版本上的實作可能不太合適了,但基於學習目的,我還是保留下來了。首先,我以 rh7.3 來說明,這是最簡單的步驟了,照著打字就應該沒問題了: 1) 下載軟體: cd /usr/src wget 2) rebuild SRPM: mount /mnt/cdrom rpm -ivh /mnt/cdrom/RedHat/RPMS/libpcap-0.6.2-12.i386.rpm rpm --rebuild ntop-2.1.3-0.src.rpm 3) 安裝: rpm -ivh /usr/src/redhat/RPMS/i386/ntop-2.1.3-0.i386.rpm 4) 閱讀資訊: less /usr/share/doc/ntop-2.1.3/1STRUN.txt 5) 建立帳號: useradd -g ntop -s /bin/true -M ntop 6) 初始化: /usr/sbin/ntop -P /usr/share/ntop/ -u ntop -A 7) 啟動: chkconfig ntop on service ntop start 8) 測試: ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * 其後是舊有文章部份:-------------測試環境﹕ RedHat 7.2: tarball 安裝 RedHat 7.1: RPM 安裝-------------設定步驟﹕一﹐tarball 的安裝方法﹕剛好前不久在新聞組上看到有人討論 ntop 的安裝﹐按照 Kefore兄 的步驟是非常輕鬆的。下面是我的一些補充﹕~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * "neuro" 撰寫於郵件news:WHAp8.242793$kb.13766419@news1.calgary.shaw.ca...> Thank Eddie Chang very much !-)>> [root ntop]# make> ....(omitted)> gcc -shared address.lo dataFormat.lo globals-core.lo hash.lo initialize.lo> lea0> /usr/bin/ld: cannot find -lmysqlclient> collect2: ld returned 1 exit status> make[2]: *** [libntop.la] Error 1> make[2]: Leaving directory `/root/src/ntop-current/ntop'> make[1]: *** [all-recursive] Error 1> make[1]: Leaving directory `/root/src/ntop-current/ntop'> make: *** [all-recursive-am] Error 2> [root ntop]#不知道您的系統為什麼會這樣﹖為了驗證您的問題﹐我剛纔在我的 redhat 7.2 實作了一遍﹐基本上按照 Kefore兄 原本的步驟來做就可以了﹐我只略為修改了一下而已﹐其它都非常順利﹕"我與我淡藍獨角獸" 撰寫於郵件news:3lRfIB$3Pc@bbs.ntu.edu.tw...>> 小弟由於業務上的需要,因此想得知ip流量的排名,>> 經詢問板上高手的意見後(在此謝謝hardstone,netman,responder,leoliu>> ,尤其特別感謝hardstone及netman的協助)>> 決定安裝ntop來解決這部份的問題>> 但所附的ntop.1.3.xxx.rpm早已不合宜>> 所需要解決其相依性的rpm有六個之多,>> 還得解決其中的版本的問題(libpcap-0.4-39.i586.rpm對ntop.1.3版版本太新)>> 到不如直接下載最新tarball直接compile>>>> 以下是小弟安裝ntop的過程?>> 環境:Red Hat Linux 7.1 及Kernel 2.4.2-2>> 要安裝ntop,必需有libpcap>> 1.請至下載libpcap> http:///release/libpcap-0.7.1.tar.gz> 下載回來後> tar -zxvf libpcap-0.7.1.tar.gz> cd libpcap-0.7.1> ./configure> make> make install> cd ..>>> 2.請至snapshot.ntop.org下載ntop> > 下載回來後> tar -zxvf ntop-02-02-15.tgz> cd ntop-current>> 先compile gdchart> cd gdchart0.94c/> ./configure> cd gd-1.8.3/libpng-1.0.8> cp scripts/makefile.linux Makefile> make> cd ../../zlib-1.1.3/> ./configure> make> cd ..> make>>> 再compile ntop> cd ntop如果目錄沒改變的話﹐請改為﹕cd ../ntop> ./configure我建議您先建立如下兩個目錄﹕mkdir /usr/local/man/man1/intop/ # 註﹐請參考後面的‘一些注意’mkdir /usr/local/var> make這裡不妨做一下﹕make check> make install>>> 3.啟動ntop> ntop -i eth0上面的命令不妨丟到背景執行﹕ntop -i eth0 & 1>/dev/null 2>&1要結束的話輸入﹕killall ntop>> 4.進入http:\\your_ip:3000\> 就可以看到ntop了,如有其他問題,請查> 以及> ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * 相信按照上面的步驟都不會有問題吧﹖二﹐RPM 的安裝方法﹕我首先嘗試的是抓 ntop-2.0-1BETA.src.rpm 回來 rebuild 和安裝﹐都沒問題﹐但執行的時候卻出現如下錯誤﹕> gcc: main.o: No such file or directory> gcc: .libs/libntopreport.so: No such file or directory> gcc: .libs/libntop.so: No such file or directory於是就自己動手做 RPM 了﹕1) 移除舊檔rpm -e ntoprpm -e libpcap2) 安裝 libpcaprpm --rebuild libpcap-0.7.1-1.src.rpmrpm -ivh /usr/src/redhat/RPMS/i386/libpcap-*.rpm3) 製作 ntop RPMtar -zxvf ntop-02-02-15.tgzcp -a ntop-current /usr/src/redhat/SOURCEcd /usr/src/redhat/SOURCEStar zcvf ntop-2.0-src.tgz ntop-currentcat ntop-current/ntop/packages/RedHat/ntop.spec \ | tr -s '\015' '\n' > ../SPECS/ntop.speccd ../SPECSvi ntop.spec--> 修改內容如下﹕ 將第 39 行之 cd gdchart0.94c/ 換成如下內容﹕cd ntop-current/gdchart0.94c/ 在 57 行之 %install 下面增加一行﹕cd ntop-current 在第 68 行下面增加兩行﹐使其結果變為如下(第 68~70 共三行)﹕chmod +x ${RPM_BUILD_ROOT}%{prefix}/lib/*.so.*.* cat packages/RedHat/ntopd |tr -s '\015' '\n' > ../../../../SOURCES/ntopdchmod +x ../../../../SOURCES/ntopd4) 安裝 ntop RPMrm -f ../RPMS/i386/ntop*rpm -ba ntop.specrpm -ivh ../RPMS/i386/ntop-2.0-1.i386.rpmvi /etc/sysconfig/ntopd--> 編輯其內容如下﹕NTOPD_IFACE=eth0NTOPD_PORT=3001NTOP_FLAGS="-d"5) 使用 ntopd啟動﹕ service ntopd start關閉﹕ service ntopd stop-------------檢視成果﹕1) 只要您有網頁瀏灠器﹐將 URL 至到您的於設 html 目錄下的 mrtg/index.html 就可以了﹐例如﹕ -------------一些注意﹕ * 我是直接那 tarball 的原始碼來修改的﹐不確定外面是否有更完整的包好的 RPM 可以使用﹖* 原本的 source 中﹐關於 RedHat 的兩個 script ﹐懷疑是從 windows 端進行過檔案轉移﹐ 會出現討厭的 ^M 問題﹐務必使用 tr 或其它程式將其轉換為正確的 linefeed 。* 原來的 spec 檔似乎有點問題﹐請小心修改處理。如果失敗﹐可以根據錯誤信息來修改。* 使用 rc daemon 啟動方式的話﹐請務必撰寫 /etc/sysconfig/ntopd 檔案﹐否則跑不起來。* ntop 預設的 port 在 3000 上面﹐建議您修改為其它值﹐ 同時必須用透過 firewall 或其它機制來限制 ntop 的閱覽來源﹐因為上面的資訊太多了﹗* 根據網友 逍遙子兄 的反映﹐在執行 etc/cron.weekly/makewhatis.cron 的時候會有錯誤﹐ 經查﹐可能是前面的 mkdir /usr/local/man/man1/intop/ 引起的。 如果您不想看到這個錯誤信息﹐不妨用 rm -rf /usr/local/man/man1/intop 將之砍掉。-------------後記﹕ntop 的確是網管人員的好幫手﹐透過它﹐基本上所有進出流量都無所遁形﹗不管拿來做例行的監測工作﹐還是拿來做報告﹐都是非常優秀的工具。不過﹐由於 ntop 的資訊量非常多﹐如何保護這些資訊只能給授權的人士獲得﹐將變得額外重要。-------------最後更新日期﹕ 2002/04/08-------------附錄﹕ 我怎麼知道如何建 RPM ﹖"我與我淡藍獨角獸" 撰寫於郵件news:3lYM5T$5fs@bbs.ntu.edu.tw...> > 3) 製作 ntop RPM> > tar -zxvf ntop-02-02-15.tgz> > cat ntop-current/ntop/packages/RedHat/ntop.spec \> > | tr -s '\015' '\n' > ../SPECS/ntop.spec> > cd ../SPECS> > vi ntop.spec> > --> 修改內容如下﹕> > 將第 39 行之 cd gdchart0.94c/ 換成如下內容﹕> > cd ntop-current/gdchart0.94c/> > 在 57 行之 %install 下面增加一行﹕> > cd ntop-current> > 在第 68 行下面增加兩行﹐使其結果變為如下(第 68~70 共三行)﹕> > chmod +x ${RPM_BUILD_ROOT}%{prefix}/lib/*.so.*.*> > cat packages/RedHat/ntopd |tr -s '\015' '\n' >../../../../SOURCES/ntopd> > chmod +x ../../../../SOURCES/ntopd>> 這裏想請教網中人,您如何知道要修改/ntop-current/ntop/packages/ntop.spec呢?>> 謝謝您的回答,謝謝>哈~~ 我用的是最笨的方法﹕try-test-fix cycle前面那幾行字打上來不需要兩分鐘﹐但要知道打些什麼﹐可花了我一個晚上的時間哦~~ ^_^這裡不妨分享一下我的‘笨’方法吧﹐或許可以幫助其它朋友弄個‘聰明’的法子﹕當初我是用 ntop-2.0-1BETA.src.rpm 這個 source rpm 來 install ﹐然後在 SOURCES 那邊﹐將 ntop 的 tarball 換掉﹕ 1) 將 ntop-02-02-15.tgz 解開之後丟到 SOURCES 那邊 2) 將原本的 ntop-2.0-pre.tgz 改一個名字 3) 將 ntop-current 用 tar -zcvf 包裝為 ntop-2.0-pre.tgz然後回到 SPECS 那邊執行 rpm -ba ntop.spec不過﹐當然是碰到不少問題﹐但您總是可以根據最後數行知道 spec 檔的哪行過不去﹐根據錯誤信息的提示來找問題﹕ * 直接修改 ntop.spec * 修改 SOURCES/ntop-current (及子目錄) 裡面的 Makefile.* * 用 grep -r 搜索 SOURCES/ntop-current 整個目錄 * 其它想得到的辦法(我不會 c ﹐要不然可能還會嘗試修改 ntop 的 source 呢﹗)修改完之後從新用 tar 來包裝 SOURCES/ntop-2.0-pre.tgz再來執行 rpm -ba (這是最花時間和最無聊的事情~~ )老是不成功﹐發現修改了的 Makefile.* 似乎沒什麼用﹐因為在 BUILD 目錄下的 Makefile 都沒改變(唉~~ 整個超出我的 debug 能力了~)後來在一次 grep -r 中發現了 packages/RedHat 目錄有 ntop.spec 和 ntopd ﹐當然不放過‘借用’的機會啦~~將 SPECS 的 ntop.spec 換掉﹐然後再跑 rpm -ba ﹐再根據提示修改﹕ * 例如將 SOURCE 裡面的 tgz 名稱換為 spec 需要的 * 修改 spec 檔的 cd 路徑 * 將 ntopd 搬到正確的路徑等 rpm -ba 過關之後(看到 Wrote 之類的..)將原本 ntop-2.0-1BETA.src.rpm 所產生的東西全部砍掉﹐再重新跑一遍筆記整理的流程。最後﹐得出來的結果﹐就是前面那幾行文字了...--======= =======飛雪迎春到﹐風雨送春歸已是寒崖百丈冰﹐尤有花枝俏俏也不爭春﹐只把春來報待得山花爛漫時﹐他在叢中笑﹗
上一篇:使用cacti监测系统性能
下一篇:用bandwidthd进行网络流量检测和分析
登录 注册