About NTAC project

Network Traffic Analyzer is small tool which runs on linux-based router and measure amount of bytes transfered for accounts defined in it's configuration. These accounts may be router's interfaces, networks or hosts in routed networks. Output is written as a set of html pages with statistics and png images with graphs into specified directory which should be acessible by http daemon. It is based on NTA written in perl, but it is written from scratch in C++ with some features added and with significat performance gain.


10.12.2005 Initial version of web pages created.
29.11.2005 Initial version of source codes published on
25.11.2005 NTAC project registered on

Design Goals

NTAC was written for accounting network traffic on linux router for small-sized networks. One of reason for writing NTAC was performance issues with previous sowtfare, thus it should smoothly account tens hosts on 200MHz pentium.

How it works

Ntac should be run every 3 minutes by cron. It reads input data from /proc and from iptables. Then it stores statistics in file with proprietary format and write html and png output.


Ntac is distributed as a package of source codes. It must be compiled with the following libraries:
Then it can run on a linux system with cron daemon and http daemon. I run it on Debian woody, but it may run on other distibutions or even platforms too.


  1. download and unpack archive
  2. compile ntac executable: run "make" in src subdirectory
  3. edit and add script nta_iptables into your stratup scripts. It creates iptables rules for accounts.
  4. add line "*/3  * * * *        root      (cd /opt/ntac/directory/; ./ntac)" into /etc/crontab file
  5. edit ntac.conf, set apropriate output directory and accounts
  6. copy ntac.css into output directory