Bandwidth Monitoring Tools For Linux
Bandwidth represents the capacity of the connection. The greater the capacity, the more likely that greater performance will follow, though overall performance also depends on other factors, such as latency.
BandwidthD tracks usage of TCP/IP network subnets and builds html files with graphs to display utilization. Charts are built by individual IPs, and by default display utilization over 2 day, 8 day, 40 day, and 400 day periods. Furthermore, each ip address's utilization can be logged out at intervals of 3.3 minutes, 10 minutes, 1 hour or 12 hours in cdf format, or to a backend database server. HTTP, TCP, UDP, ICMP, VPN, and P2P traffic are color coded.
Current Stable Version :- 2.0.1
Project Home Page :- http://bandwidthd.sourceforge.net/
bmon is a portable bandwidth monitor and rate estimator running on various operating systems. It supports various input methods for different architectures. Various output modes exist including an interactive curses interface,lightweight HTML output but also formatable ASCII output.
bwbar is a small C-based program for Linux-based machines which produces bandwidth usage statistics for a network interface. It was originally written by H. Peter Anvin, and I (Brian Towne) modified it somewhat to better suit my needs. The original program was released under the GPL. A number of people have asked for the modified program and its source, so I have created this page.
Current Stable Version :- 1.2.3
This is a very tiny bandwidth monitor (not X11). Can monitor up to 16 interfaces in the in the same time, and shows totals too.
Current Stable Version :- 1.1.0
small and simple console-based bandwidth monitor.Bandwidth Monitor NG is a small and simple console-based live bandwidth monitor.
Current Stable Version :- 0.6
Project Home Page :- http://www.gropp.org/?id=projects&sub=bwm-ng
Cacti is a complete network graphing solution designed to harness the power of RRDTool's data storage and graphing functionality. Cacti provides a fast poller, advanced graph templating, multiple data acquisition methods, and user management features out of the box. All of this is wrapped in an intuitive, easy to use interface that makes sense for LAN-sized installations up to complex networks with hundreds of devices.
Current Stable Version :- 0.8.7e
Project Home Page :- http://cacti.net/
cbm — the color bandwidth meter — is a small program to display the traffic currently flowing through your network devices.
Current Stable Version :- 0.1
Dstat is a versatile replacement for vmstat, iostat, netstat, nfsstat and ifstat. Dstat overcomes some of their limitations and adds some extra features, more counters and flexibility. Dstat is handy for monitoring systems during performance tuning tests, benchmarks or troubleshooting.
Current Stable Version :- 0.7.1
Project Home Page :- http://dag.wieers.com/home-made/dstat/
EtherApe is a graphical network monitor for Unix modeled after etherman. Featuring link layer, ip and TCP modes, it displays network activity graphically. Hosts and links change in size with traffic. Color coded protocols display.
Current Stable Version :- 0.9.9
Project Home Page :- http://etherape.sourceforge.net/
gDesklets is a system for bringing mini programs (desklets), such as weather forecasts, news tickers, system information displays, or music player controls, onto your desktop, where they are sitting there in a symbiotic relationship of eye candy and usefulness. The possibilities are really endless and they are always there to serve you whenever you need them, just one key-press away. The system is not restricted to one desktop environment, but currently works on most of the modern Unix desktops (including GNOME, KDE, Xfce).
Current Stable Version :- 0.36.1
Project Home Page :- http://www.gdesklets.de/
GKrellM is a single process stack of system monitors which supports applying themes to match its appearance to your window manager, Gtk, or any other theme.
Current Stable Version :- 2.3.4
Project Home Page :- http://members.dslextreme.com/users/billw/gkrellm/gkrellm.html
ipband is a pcap based IP traffic monitor. It tallies per-subnet traffic and bandwidth usage and starts detailed logging if specified threshold for the specific subnet is exceeded. If traffic has been high for a certain period of time, the report for that subnet is generated which can be appended to a file or e-mailed. When bandwidth usage drops below the threshold, detailed logging for the subnet is stopped and memory is freed.
Current Stable Version :- 0.8.1
Project Home Page :- http://ipband.sourceforge.net/
iftop does for network usage what top does for CPU usage. It listens to network traffic on a named interface and displays a table of current bandwidth usage by pairs of hosts. Handy for answering the question "why is our ADSL link so slow".
Current Stable Version :- 0.17
Project Home Page :- http://www.ex-parrot.com/pdw/iftop/
Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of various parameters and UDP characteristics. Iperf reports bandwidth, delay jitter, datagram loss.
IP Flow Meter (IPFM) is a bandwidth analysis tool, that measures how much bandwidth specified hosts use on their Internet link.
Current Stable Version :- 0.11.5
Project Home Page :- http://robert.cheramy.net/ipfm/
ifstat is a tool to report network interfaces bandwith just like vmstat/iostat do for other system counters.
Current Stable Version :- 1.1
Project Home Page :- http://gael.roualland.free.fr/ifstat/
ibmonitor is an interactive linux console application which shows bandwidth consumed and total data transferred on all
Current Stable Version :- 1.4
Project Home Page :- http://ibmonitor.sourceforge.net/
IPAudit monitors network activity on a network by host, protocol and port.IPAudit listens to a network device in promiscuous mode, and records every connection between two ip addresses. A unique connection is determined by the ip
addresses of the two machines, the protocol used between them, and the port numbers (if they are communicating via udp or tcp).
Current Stable Version :- 0.95
Project Home Page :- http://ipaudit.sourceforge.net/
IPTraf is a console-based network statistics utility for Linux. It gathers a variety of figures such as TCP connection packet and byte counts, interface statistics and activity indicators, TCP/UDP traffic breakdowns, and LAN station packet and byte counts.
Current Stable Version :- 3.0.0
Project Home Page :- http://iptraf.seul.org/
IFStatus was developed for Linux users that are usually in console mode. It is a simple, easy to use program for displaying commonly needed / wanted statistics in real time about ingoing and outgoing traffic of multiple network interfaces that is usually hard to find, with a simple and effecient view. It is the substitute for PPPStatus and EthStatus projects.
Current Stable Version :- 1.1.0
Jnettop is a traffic visualiser, which captures traffic going through the host it is running from and displays streams sorted by bandwidth they use.
Current Stable Version :- 0.13.0
Project Home Page :- http://jnettop.kubs.info/wiki/
The Multi Router Traffic Grapher (MRTG) is a tool to monitor the traffic load on network links. MRTG generates HTML pages containing PNG images which provide a LIVE visual representation of this traffic.
Current Stable Version :- 2.16.3
Project Home Page :- http://oss.oetiker.ch/mrtg/
moodss is a graphical monitoring application. It is modular so that the code accessing the monitored objects is completely separate from the application core. The core takes care of managing modules (loading and unloading),displaying modules data through sortable tables and diverse graphical viewers, handling user set threshold conditions with email alerts, recording and browsing data history from a database.moodss can even predict the future, using sophisticated statistical methods and artificial neural networks, and therefore be used for capacity planning.
Current Stable Version :- 21.5
Project Home Page :- http://moodss.sourceforge.net/
A lightweight (distributed?) network security monitor for TCP/IP+Ethernet LANs. It will capture certain network events and record them in a relational database. The recorded data will be available for analysis through a CGI based interface.
Current Stable Version :- 4.0
Project Home Page :- http://sourceforge.net/projects/monitord/
NetMRG is a tool for network monitoring, reporting, and graphing. Based on RRDTOOL, the best of open source graphing
systems, NetMRG is capable of creating graphs of any parameter of your network.
Current Stable Version :- 0.20
Project Home Page :- http://www.netmrg.net
nload is a console application which monitors network traffic and bandwidth usage in real time. It visualizes the in-and outgoing traffic using two graphs and provides additional info like total amount of transfered data and min/max network usage.
Current Stable Version :- 0.7.2
Project Home Page :- http://www.roland-riegel.de/nload/index.html
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. Default protocol list (this is user configurable).
Current Stable Version :- 3.3.10
Project Home Page :- http://www.ntop.org
Netspeed is just a little GNOME-applet that shows how much traffic occurs on a specified network device (for example eth0). You get the best impression of it, if you look at the screenshots below.
Current Stable Version :- 0.14
Netwatch is a Linux program created to aid in monitoring Network Connections. It is based on a program called "statnet" but has been substantially modified for its Ethernet emphasis. It is a dynamic program which displays the Ethernet status based each the connection's activity. It has the capability of monitoring hundreds of site statistics simultaneously. The connection's port number (Well Known Service) and destination address are available as well. There are options which allow router statistics to be measured on simple networks (with one router). External network communication is counted and transfer rates are displayed.
Current Stable Version :- 1.3.0-1
Project Home Page :- http://www.slctech.org/~mackay/netwatch.html
NOCOL is a popular system and network monitoring (network management) software that runs on Unix systems and can
monitor network and system devices. It uses a very simple architecture and is very flexible for adding new network management modules
Current Stable Version :- 4.3.1
Project Home Page :- http://www.netplex-tech.com/nocol/
NeTraMet is an open-source (GPL) implementation of the RTFM architecture for Network Traffic Flow Measurement,
developed and supported by Nevil Brownlee at the University of Auckland. Nevil also developed a version of NeTraMet
which uses the CoralReef library to read packet headers. This ‘CoralReef NeTraMet meter' can work with any CoralReef
data source; it has been tested on both CAIDA and NLANR trace files, and on DAG and Apptel ATM interface cards.
Current Stable Version :- 43
Project Home Page :- http://freshmeat.net/projects/netramet/
NetPIPE is a protocol independent performance tool that visually represents the network performance under a variety of
conditions. It performs simple ping-pong tests, bouncing messages of increasing size between two processes, whether
across a network or within an SMP system. Message sizes are chosen at regular intervals, and with slight perturbations, to provide a complete test of the communication system. Each data point involves many ping-pong tests to provide an accurate timing. Latencies are calculated by dividing the round trip time in half for small messages ( <64 Bytes ).
Current Stable Version :- 3.7.1
Project Home Page :- http://www.scl.ameslab.gov/netpipe/
Netperf is a benchmark that can be use to measure various aspect of networking performance. The primary foci are bulk
(aka unidirectional) data transfer and request/response performance using either TCP or UDP and the Berkeley Sockets interface. As of this writing, the tests available either unconditionally or conditionally
Current Stable Version :- 2.4.5
Project Home Page :- http://www.netperf.org/netperf/
This is a console utility which will listen on an interface using libpcap, aggregate the traffic into flows and display the top (as many as can fit on your screen) flows with their average throughput. A flow is identified ip protocol, source ip, source port, destination ip, destination port, and type of service flag.
Current Stable Version :- 0.0.4
Display a real-time list of active connections seen on a network interface, and how much bandwidth is being used by what. Partially decodes HTTP and FTP protocols to show what filename is being transferred. X11 application names are also shown. Entries hang around on the screen for a few seconds so you can see what just happened. Also accepts filter expressions á la tcpdump.
Current Stable Version :- 1.8.4
Project Home Page :- http://www.adaptive-enterprises.com.au/~d/software/pktstat/
RTG is a flexible, scalable, high-performance SNMP statistics monitoring system. It is designed for enterprises and service providers who need to collect time-series SNMP data from a large number of targets quickly. All collected data is inserted into a relational database that provides a common interface for applications to generate complex queries and reports. RTG includes utilities that generate configuration and target files, traffic reports, 95th percentile reports and graphical data plots. These utilities may be used to produce a web-based interface to the data.
Current Stable Version :- 0.7.4
Project Home Page :- http://rtg.sourceforge.net/
Monitor network traffic or speed/progress of a file transfer. The program can be used for cases like: how long it will take for my 38MB transfer to finish, how quickly is another transfer going, How fast is the upstream on this ADSL line and how fast can I write data to my filesystem.
Current Stable Version :- 2.6
Project Home Page :- http://excess.org/speedometer/
Spong is a simple system-monitoring package written in Perl. It features client based monitoring, monitoring of network services, results displayed via the Web or console, history of problems, and flexible messaging when problems occur.
Current Stable Version :- 2.7.6
Project Home Page :- http://spong.sourceforge.net/
slurm started as a pppstatus port to FreeBSD. As I ripped off several functions
Current Stable Version :- 0.3.3
SNIPS (System & Network Integrated Polling Software) is a system and network monitoring software that runs on Unix systems and can monitor network and system devices. It is capable of monitoring DNS, NTP, TCP or web ports, host performance, syslogs, radius servers, BGP peers, etc. New monitors can be added easily (via a C or Perl API).
Current Stable Version :- 1.1
Project Home Page :- http://www.navya.com/software/snips/
tcpflow is a program that captures data transmitted as part of TCP connections (flows), and stores the data in a way
that is convenient for protocol analysis or debugging. A program like tcpdump shows a summary of packets seen on the
wire, but usually doesn't store the data that's actually being transmitted. In contrast, tcpflow reconstructs the actual data streams and stores each flow in a separate file for later analysis. tcpflow understands TCP sequence numbers and will correctly reconstruct data streams regardless of retransmissions or out-of-order delivery.
Current Stable Version :- 0.21
Project Home Page :- http://www.circlemud.org/~jelson/software/tcpflow/
vnStat is a network traffic monitor for Linux that keeps a log of daily network traffic for the selected interface(s).vnStat isn't a packet sniffer. The traffic information is analyzed from the /proc -filesystem, so vnStat can be used without root permissions. However at least a 2.2.x kernel is required.
Current Stable Version :- 1.10
Project Home Page :- http://humdi.net/vnstat/
Shows a graph of incoming/outgoing traffic, activity indicators for rx/tx and current/maximum rate for rx/tx in bytes or packets.Tailored for use with WindowMaker, it will as well work with any other window manager though.
Current Stable Version :- 0.4.13
Project Home Page :- http://dockapps.org/file.php/id/178
Updated on 18th March 2010
Further to Jeff’s post.
You could *try* vnstat. I’ve only just installed this myself, so I’m not exactly familiar with it yet, and my ISP bill from the 1st of each month anyway so that aspect isn’t something I’ve needed to to look at, but it does say on their site “months can be configured to follow billing period”.
I am looking for something that will allow me to see which computers on my network are using up all my DSL. I basically want something that will scheck all traffic on the network ingoing and outgoing to the net. I run an UBuntu server but not all the machines have access to the server
I’m in need of something to keep track of how much data I receive between 8am and Midnight (pesky fair use policy) and preferably a separate total for midnight to 8am for full coverage.
I was using VnStat with some homewritten scripts to handle the rolling 30 day limit, now I am unsure how to add in the time restrictions as well that the ISP added.
I am also looking for a simple app/applet that allows me to monitor/cap my internet connection. My ISP doesn’t bill per-start-of month either which complicates things. The list above is very helpful but just confirms (having just installed half-a-dozen of them) what I already suspected – such an app doesn’t exist!
I will never, ever, ever understand how programmers continue to churn out (as above) the same old stuff again and again, most of which are never run more than once, but won’t write something that 10’s of 1000’s would use on a continuous basis – such as ‘jeff’ describes above…..
I am using a Linux based web server and want to monitor in realtime that which of the web consumed how much bandwidth?
Please guide me..
@omelette – that’s because they are (often) single guys just playing from scratch. That’s how I taught myself. Its fun and easy, but not useful.
Checkout the application KNemo..
U can install it via synaptic or ubuntu software centre…
I searched a lot for such program and this particular one is the only one which i feel is the right one is necessary for most of our needs
KNemo looks interesting, and may do what a lot of people want in a very common usage scenario (single-station), but isn’t quite fully featured enough to do what I want. Specifically I’m looking for a solution that works for networks instead of just a single station, and preferably would allow me to execute commands when certain bandwidth statics conditions were met.
I’ve still got a solution in my head but other projects have taken precedence at the moment.
Those of you wanting a meter for ur connections use vnstat . Awesome program , very easy to use and does the job elegantly.. Read the F’n man page for more ..
pktstat seems to be a good way to find out which connections use up the DSL bandwidth.
Nethogs (http://sourceforge.net/projects/nethogs/) is a great tool for finding out which process is using bandwidth. Should be added to the list!
Thanks for this website – after going through a couple of the options on the list (and pointlessly searching and googling) for a decent GNU/Linux version of FreeBSD’s systat -ifstat I installed nload. Brilliant!
nload eth0 wlan0
PLEASE PUT ifstat AT THE TOP PLEASE PUT BIG HIGHLIGHT AROUND IT PLEASE MAKE IT REALLY OBVIOUS IT IS THE BEST!!!!
ifstat is the best BY FAR. I spent THREE HOURS looking through this and other websites. All I wanted is a timestamped log of network usage so can pickup drops. I have another script that uses a steady stream of 20KB/s by downloading in loop from a work server using wget.
So this is how you do it:
ifstat -t >/path/to/your/log
DADA!!! SOOOOOO EASY!!!!!!
After many experiments with vnstat and other command line based apps I settled for this GUI trafiic monitor: ‘NTM – network traffic monitor’ and it is just great. I have a 3Gb cap on my monthly traffic, after wich there is a massive speed limit. This helps keeping track of the traffic and much more. It integrates great with gnome and it’s very lightweight.
You can simply use tcpdump command in linux to sort and fully analyze the traffic for a specified duration of time..like you can check the payload of http,ftp protocols using the simple tcpdump.