Ntopng is a high-speed web-based traffic analysis and flow collection. Ntopng is based from ntop. It’s run on every Unix platform, MacOS X and Windows.
From ntopng website, some of the features are:
- Sort network traffic according to many protocols
- Show network traffic and IPv4/v6 active hosts
- Store on disk persistent traffic statistics in RRD format Geolocate hosts
- Discover application protocols by leveraging on nDPI, ntop’s DPI framework
- Show IP traffic distribution among the various protocols
- Analyse IP traffic and sort it according to the source/destination
- Display IP Traffic Subnet matrix (who’s talking to who?)
- Report IP protocol usage sorted by protocol type
- Produce HTML5/AJAX network traffic statistics
Ntop is available in pre-compiled packages for CentOS dan Ubuntu 64-bit based. You may find the packages in their download page. For 32-bit operating system, you have to compile it from the source. This article is tested on CentOS 6.4 32-bit version. But it may works also in other version of CentOS / RedHat based Linux. Let’s start.
You have to make sure that you have all development tools which is needed to compile ntopng. To install the development tools you can use yum command :
# yum groupinstall ‘Development Tools’
# yum install tcl
# yum install libpcap libcap-devel
# wget http://redis.googlecode.com/files/redis-2.6.13.tar.gz # tar zxfv redis-2.6.13.tar.gz # cd redis-2.6.13 # make 32bit # make test # make install
# wget http://sourceforge.net/projects/ntop/files/ntopng/ntopng-1.1_6932.tgz/download # tar zxfv ntopng-1.1_6932.tgz # cd ntopng-1.1_6932 # ./configure # make # make install
On my CentOS 6.4, I got an error message when using Method 1. Here’s the error message :
./third-party/LuaJIT-2.0.2/src/libluajit.a : could not read symbols : File in wrong format
So I switch to install it using SVN. Internet connection is required for this installation method. Here’s the steps :
# svn co https://svn.ntop.org/svn/ntop/trunk/ntopng/ # ./autogen.sh # ./configure # make # make install
Since ntopng is a web-based application, your system must have a working web-server installed
Create configuration files for ntopng
If everything is installed, then it’s time for us to running it. By default, redis and ntopng will installed in /usr/local/ folder if we don’t change the installation folder explicitly in ./configure step. Next we need to create configuration files for ntopng. In this article we use vi as text editor. You can use your favorite text editor to create ntopng configuration files.
# cd /usr/local/etc # mkdir ntopng # cd ntopng # vi ntopng.start Put these lines : --local-network “10.0.2.0/24” --interface 1 # vi ntopng.pid Put this line : -G=/var/run/ntopng.pid
Save those files and we can continue to the next step
We assume that you have installed web server correctly, then the next step is to run redis server.
Then run ntopng
Now you can test your ntopng application by typing http://yourserver.name:3000 . You will see ntopng login page. For the first time, you can use user ‘admin’ and password ‘admin’.
The dashboard is quite simple. After you logged in, you will see an information about Top Flow Talkers.
If you click Flows menu on the right top, ntopng will show you more detail about Active Flows.
On Hosts menu, you can see all hosts which are connected to the flows
If you click Hosts > Interactions, ntop will show you a nice graphic about interaction which happen between them.
Dashboard menu consist of :
Top Hosts (Send+Receive)
Top Application Protocol
Interfaces menu will bring you more menus inside. Packets menu shows you size distribution of packets.
Protocols menus will give you information about how many protocols that have been used and its percentage.
You can also see the activity by using Historical Activity menu
Last but not least, you can also manage the user who can access ntopng via Settings menu on the top right area (the one that have a gear icon). Then click Manage Users.
Ntopng provide you with a wide range of timeframe, from every 5 minutes until 1 year. You just need to click the timeframe you want to show. The graphic itself is clickable. You can click it to zoom it.
Of course, ntopng is more than just pictures above. You can also integrate it with GeoLocation and GeoMap services. From ntopng website itself, there is a paid module such as nprobe to enrich the information provided by ntopng. For more detailed usage of ntopng, please visit ntopng website.