OS: RHEL6.0 x64
ntop: 4.1.0 (64 bit)
通过下载官方ntop源代码方式安装。
启动正常,显示页面也正常,但ntop运行时间不定就自己自动退出了。
查看系统日志,发现有一句:
ntop[17959]: segfault at fffffff7 ip 0000003a3ba7a76c sp 00007f58e13a4b58 error 4 in libc-2.12.so[3a3ba00000+175000]
搜索了一下也未果,不过看到这里 http://www.linuxsir.org/bbs/showthread.php?t=76339 有说
机器配置是双P4 XEON 2.4 2G内存,仍然会很快死掉
后来我仔细查找了原因,是因为NTOP占用了太多的内存,NTOP的机制是每记录一个IP,就会给它分配一部分内存,所以如果你的网段内机器多,或者是有中病毒后狂乱发包的机器,那结果......
所以强烈建议你启动NTOP的时候加上特定地址段的参数(看说明,很简单的)....
再看ntop启动参数 ntop -h ,其中有两个参数
[-x <max num hash entries> ] Max num. hash entries ntop can handle (default 8192)
[--disable-stopcap] Capture packets even if there's no memory left
-x 参数应该是最大处理条目数,默认为8192条
--disable-stopcap 即使内存不足,也继续捕捉数据包
既然ntop有 --disable-stopcap 参数,或许ntop为了保证系统正常运行,就强行自动退出以保证系统稳定运行,而不是继续去抓包。而一般公司里使用ntop,无非就是看看排名靠前的一些流量。所以我们可以把启动方式更改只列出50个数据列表:
ntop -i eth0,eth1 -u ntop -x 50
如果还要更进一步抓取指定网段10.10.30.0/24,可以:
ntop -i eth0,eth1 -u ntop -m 10.10.30.0/24 -x 50
目前ntop运行正常,暂时没有异常退出。