본문 바로가기
리눅스

ntop은 네트워크에서 관련된 호스트들과의 관계를 네트워크 트래픽을 통해 모니터링하는 공개 소프트웨어

by 혜룐 2015. 12. 3.



ntop은 네트워크에서 관련된 호스트들과의 관계를 네트워크 트래픽을 통해 모니터링하는 공개 소프트웨어이다.(
)
ntop shows the
current network usage
. It displays a list of hosts that are currently using the network and reports information concerning the IP (Internet Protocol) and Fibre Channel (FC) traffic generated by each host. The traffic is sorted according to host and protocol.
ntopng
소개 :
ntopng is the
next generation version
of the original ntop, a network traffic probe that shows the network usage, similar to what the popular top Unix command does. ntopng is based on libpcap and it has been written in a portable way in order to virtually run on every Unix platform, MacOSX and on Win32 as well.
특징
실시간으로 현재의 네트워크에 대한 전체적인 상황을 한눈에 보여준다.
네트워크의 모든 프로토콜에 대한 송수신을 확인 할수 잇다.
사용되는 프로토콜의 통계를 제공한다.
트래픽 통계를 제공한다.
현재 사용되는 세션을 볼수 있다.
yum 을 이용해서 설치를 진행한다.
yum을 통해서 패키지를 설치 하거나, tar을 직접 다운로드 받아 설치 할수 있다.
(이외 nBox, nProbe가 있다.)
ntop패키지가 설치 될때 의존성 패키지를 보면, GeoIP, mysql, rrdtool 이 보인다.
GeoIP 란 MaxMind 에서 제공하는 국가별로 IP를 확인할 수 있는 오픈소스 라이브러리로 이를 이용하여 서버에 접근 하는 아이피를 국가별로 관리할 수 있다. (
)
rrdtool 이란 일정 시간 동안 몇가지 어떤 값을 측정해, 이정보를 임의의 기간동안 rrdTool에 의해 저장되고, 사용자에 의해서 그래프 파일을 생성하는 오픈소스 라이브러리이다.
[root@iar ~]# yum install -y ntop
........ 이하 생략 ...................
Setting up Install Process
Resolving Dependencies
-->Running transaction check
--->Package ntop.x86_64 0:3.3.9-7.el5 set to be updated
-->Processing Dependency: libmysqlclient_r.so.15(libmysqlclient_15)(64bit) for package: ntop
-->Processing Dependency: graphviz for package: ntop
-->Processing Dependency: librrd_th.so.2()(64bit) for package: ntop
-->Processing Dependency: libmysqlclient_r.so.15()(64bit) for package: ntop
-->Processing Dependency: libGeoIP.so.1()(64bit) for package: ntop
-->Running transaction check
--->Package GeoIP.x86_64 0:1.4.8-1.el5 set to be updated
--->Package graphviz.x86_64 0:2.12-10.el5 set to be updated
-->Processing Dependency: urw-fonts for package: graphviz
-->Processing Dependency: libltdl.so.3()(64bit) for package: graphviz
--->Package mysql.x86_64 0:5.0.77-4.el5_6.6 set to be updated
-->Processing Dependency: perl(DBI) for package: mysql
--->Package rrdtool.x86_64 0:1.2.27-4.el5 set to be updated
-->Running transaction check
--->Package libtool-ltdl.x86_64 0:1.5.22-7.el5_4 set to be updated
--->Package perl-DBI.x86_64 0:1.52-2.el5 set to be updated
--->Package urw-fonts.noarch 0:2.3-6.1.1 set to be updated
-->Processing Dependency: chkfontpath for package: urw-fonts
-->Running transaction check
--->Package chkfontpath.x86_64 0:1.10.1-1.1 set to be updated
-->Processing Dependency: xfs for package: chkfontpath
-->Running transaction check
--->Package xorg-x11-xfs.x86_64 1:1.0.2-5.el5_6.1 set to be updated
-->Finished Dependency Resolution
ntop&으로 백그라운드로 실행하고
데몬이 정상적으로 떴는지 확인 한 후, 3000 포트로 웹브라우저에서 확인해보자.
( http://local-server-ip:3000/ )
[root@ter ~]# ps afxu | grep ntop
ntop 5168 0.3 0.8 309552 35304 pts/0 Sl+ 11:31 0:00 | \_ ntop
root 5380 0.0 0.0 61196 736 pts/1 S+ 11:32 0:00 \_ grep ntop
[root@ter ~]# netstat -nlp | grep ntop
tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 5168/ntop 
Web 어드민 특징
GNB 영역>Summary 하단에 hostInformation을 볼수 있다. 
ip, MAC 등 사용하는 대역폭에 대한 정보등을 한눈에 볼수 있다.
해당 서버에 네트워크 load를 rrd형태로 볼수 있으며, 
네트워크 트래픽을 프로토콜기준으로도 확인 할수 있다.
hosts 정보나, host matrix 데이터를 덤프 받을 수 있다. 형식은 text, json, xml , python등이 있다.
예를 들어, 중앙에서 수집을 한다고 가정하면, wget을 이용해 덤프 데이터를 받을 수 있도록 구성할 수 있을거 같다.
[root@iaster tmp]# wget http://local-server-ip:3000/dumpData.html?language=json&view=short
참고 주소
http://www.cyberciti.biz/faq/debian-ubuntu-install-ntop-network-traffic-monitoring-software/
http://www.ntop.org/pf_ring/introducing-nbox-2-0-aka-how-to-useconfigure-ntop-apps-using-a-web-gui/