| December, 2005 Edition Copyright Arnold Kochman. Other copyrights also apply, including but not limited to the General Public License. An ISO CD image file can be downloaded from ftp://www.geruva.com. |
|
This product includes a number of different network administration software tools related to bandwidth management and Quality of Service. The sources are included in most cases. There is much more here for UNIX and Linux users than anyone else.
Bandwidth Management/QoS Tools |
|---|
| bwm_tools - Bandwidth Management Tools - A bandwidth management solution for Linux, by Nigel Kukard. This is a powerfull firewall configuration utility that also supports traffic shaping, logging and graphic traffic representation. It is written in C for Linux and distributed under the GNU General Public License. There is a manual in PDF format, and additional information can be sought at http://bwm-tools.pr.linuxrulz.org/ |
| ibmonitor - Interactive Bandwidth Monitor - An interactive Linux console application for bandwidth monitoring, written by Rohan Almeida. It is written in PERL for Linux systems, and is distributed under the GNU General Public License. It requires the Time::HiRes module. ibmonitor is interactive and shows bandwidth consumed and total data transferred on all interfaces. It shows received, transmitted, and total bandwidth, calculates and displays the combined value of all interfaces. There are numberous options that can be conditioned during operation. |
| Speedometer - A console bandwidth and file download progress monitor with a logarithmic bandwidth display and a simple command-line interface. It is written in Python for Linux and uses Curses for display. Distributed under the GNU Lesser General Public License. For further information, refer to http://excess.org/speedometer/. |
| ip_relay - A bandwidth shaper written by Gavin Stewart. ip_relay can shape the TCP traffic forwarded through it to a specified bandwidth and allow this specified bandwidth to be changed on-the-fly. Multiple data streams to different hosts/ports may be shaped to the same total bandwidth, much like a traffic shaping router would; however, this application runs in user space, and works by acting as a TCP proxy. ip_relay is distributed persuant to the GNU General Public License. For further information, look at http://www.stewart.com.au/ip_relay/ |
| pyshaper - A simple but flexible bandwidth manager for Linux systems, written by David McNab. pyshaper works by periodically scanning existing TCP connections, matching them against rules, and throttling their bandwidth accordingly in real time. Many filtering criteria can be configured. The software is written in Python for Linux 2.4.x, 2.5.x or 2.6.x kernels and requires Python 2.2.2 or later. The graphical user interface has some additional dependencies. It is distributed under the GNU General Public License. |
| Nettimer - An active/passive bandwidth measurement tool by Kevin Lai. It can listen passively to existing network traffic, or actively probe the network. End- to-end means that it doesn't depend on any special information from the network, nor depend on a particular transport protocol. Nettimer is written in C for Linux and is distributed under the GNU General Public License. Additional information can be found at http://mosquitonet.stanford.edu/~laik/projects/nettimer/index.html |
|
Iperf - A tool to measure IP bandwidth using UDP or TCP, written in C++ by Mark Gates, Ajay Tirumala, Feng Qin, Jon Dugan, and Jim Ferguson. It allows for tuning various parameters, and reports bandwidth, delay jitter, and packet loss. It supports IPv6 and multicast. Iperf was developed as a modern alternative for measuring TCP and UDP bandwidth performance and has many features. Iperf can run on Windows, OS Independent, POSIX, Unix, Mac OS X Power PC Darwin 6.4 systems. Binaries are included for MAC OS X and Windows. Jperf is a front-end for Iperf, written by Tanya Lattner, Damon Cook, and Kevin Gibbs. It provides graphical features to the Iperf performance tool. Jperf requires a java virtual machine version 1.4 or greater. To compile Jperf you will also need a java compiler 1.4 or greater. These can be obtained from Sun Microsystems. Jperf requires a version of Iperf to be included in the $PATH environment variable. Iperf and Jperf are copyrighted persuant to the University of Illinois Copyright provisions and/or the GNU General Public License. Look for further details at http://dast.nlanr.net/Projects/Iperf/ |
| HTB-tools - HTB-tools Bandwidth Management Software - A suite of tools that help simplify the difficult process of bandwidth allocation, for both upload and download traffic, using the Linux kernel's HTB facility. It can generate and check configuration files. It also provides a real time traffic overview for each separate client. HTB-tools is written for Linux and is distributed under the GNU General Public License. For further details, look to http://htb-tools.arny.ro/news.php |
| iftop - A program to provide real-time bandwidth usage information on a specified interface, listed by host pairs. It was written in C for Linux by Paul Warren. It listens to network traffic on a named interface and displays a table of current bandwidth usage by pairs of hosts. iftop requires requires libpcap and libcurses. According to the author, users of Redhat Linux 7.2 will have to use a different version of ncurses from the one probably installed. This software is distributed under the GNU General Public License. For further information, visit http://www.ex-parrot.com/~pdw/iftop/ |
| Grafist - A bandwidth utilization viewer written by Faruk Eskicioglu. It gets the bandwidth utilization information for network interfaces from the /proc/net/dev file at 15-second intervals, and accumulates it for daily, weekly, monthly, and yearly profiles. Grafist provides localization support for 24 languages. It is written in C and PHP and runs in a web environment under Linux. It is distributed under the GNU General Public License. For further details, visit http://projects.comu.edu.tr/grafist/ |
| bwm-ng - Bandwidth Monitor NG - A simple live bandwidth monitor for Linux, BSD, Solaris, IRIX, and Mac OS X. It was written in C by Volker Gropp. It supports /proc/net/dev, netstat, getifaddr, sysctl, kstat and libstatgrab. An unlimited number of interfaces is supported. Interfaces are added or removed dynamically from the list. The display includes KB/s, Kb/s, packets, errors, average, max, and total sum, and can be viewed via curses, a plain console, CSV, or HTML. Configuration can be done through a config file. Bandwidth Monitor NG is distributed under the GNU General Public License. |
| Coconut - A bandwidth monitoring application for MacOS X 10.3 or later. It is build upon the DAFT dockapp framework and the author says that it "is totally configurable via the preferences panel." It is distributed under the GNU General Public License. For further reference, visit http://dockapp-osx.sourceforge.net/index.html |
| KBMon - A bandwidth-monitor for local network devices, by Frank Fun. On three different panels you can watch the speed of the transfered and the received data, and you can see the speed of the total data on the choosen interface. KBMon requires an active network-device, the proc filesystem, a KDE-2.x-installation (kde-qt-addon, kdelibs), qt 2.x, and a window manager. KBMon is distributed under the GNU General Public License. |
| natmonitor - NAT Monitor - A tool that monitors local hosts' Internet bandwidth usage and generates a display in graphic or text mode. It was written in C for Linux by Piero Filippin. NAT Monitor requires GTK+ 2.0.0 or later and libpcap. It is distributed under the GNU General Public License. |
| bmon - bandwidth monitor - A portable bandwidth monitor and RX and TX rate estimator, written in C by Thomas Graf. It supports various input methods for different architectures. Various output modes exist, including an interactive curses interface, lightweight HTML output, and simple ASCII output. Statistics may be distributed over a network using multicast or unicast and collected at some point to generate a summary of statistics for a set of nodes. It runs on Linux/UNIX systems, including MacOS X. For SunOS, libnl is required. It is distributed under the MIT/X Consortium License. |
| TFM-Shaper - TFM Traffic Shaper - A powerful traffic shaper using IMQ, by Liviu Andreicut. It allows up to three high priority classes to be defined for critical traffic such as DNS, Web, or email. The user can also choose whether to prioritize ICMP traffic or not, and to give certain bandwidth guarantees for certain users based on their IP. Some additional tools for automatically calculating bandwidth for each IP in a given range are also included. Further details can be found at http://linux.tfm.ro/projects/tfm-shaper/ |
| MasterShaper - A Web-based "Quality of Service" (QoS) management tool for Linux. It uses iproute2 and the features Linux kernels 2.4 and 2.6 (HTB, HFSC, CBQ, and SFQ) to manage inbound and outbound network traffic. MasterShaper also displays graphs of the current bandwidth distribution. The filtering mechanisms are tc-filter and various iptables modules, such as TCP-Flags, TOS, l7-filter, and ipp2p. MasterShaper is distributed under the GNU General Public License. You can find further details at http://shaper.netshadow.at/tiki-index.php. |
| Ktctool - A graphical user interface to tc for network bandwidth management, by Vairo Raja. With Ktctool you can view information about tc objects (qdiscs, classes, filters), create and change qdiscs (CBQ, DSMARK, FIFO, PRIO, RED, SFQ, TBF, Ingress), create and change classes, create filters (fw, route, tcindex, u32), add police info, delete tc objects, get help about any parameter, view and edit the logfile of executed tc commands, view a hierarchical structure of all tc objects, and more. Ktctool is an X11 application, which also requires KDE 3.0 and KDevelop. It is written in C++ for Linux, and is distributed under the GNU General Public License. |
| rshaper - A Linux kernel module that limits the incoming bandwidth for packets aimed at different hosts ("incoming" meaning traffic that enters the shaping host; if that host is a gateway between target hosts and the rest of the Internet, all the traffic of the target hosts will be shapeable). It's useful for ISPs who offer housing and want to differentiate their offers and for limiting download bandwidth from students' boxes or similar setups. It works with versions 2.0, 2.2, and 2.4 of the kernel. Under kernel 2.4 it can also shape outgoing traffic. rshaper was written in C by Alessandro Rubini and is distributed persuant to the GNU General Public License. Find further details at http://ar.linux.it/software/#rshaper |
| nload - 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. It was written in C++ and uses a Curses/Ncurses user interface. It runs under Linux/BSD/UNIX systems, including Mac OS X and HP-UX, and is distributed under the GNU General Public License. More information can be found by visiting http://www.roland-riegel.de/nload/index.html?lang=en |
| bwmon - A Linux bandwidth monitor that measures bandwidth utiliazation per interface basis. It is coded in C and takes advantage of the curses library. It runs only on Linux systems since the utility reads /proc/net/dev. Itis distributed under the GNU General Public License. |
| FreeMeter - FreeMeter Bandwidth Monitor For Windows - A simple network monitoring and diagnosis tool, written in C# using the MS .NET Framework 2.0 and Visual Studio 2005. Its primary function is to display graphically how much data is being transferred over the network interafces in your computer. It is also a handy tool for other network administration tasks. FreeMeter runs on Windows 2000 and XP. It is distributed under the GNU General Public License, and you can find out more about it at http://freemeter.sourceforge.net/ |
| psnmp - A network management tool that is designed to discover the network topology and alert the system administrator by e-mail if any change happens. It can also report graphically the bandwidth usage on each network link. A manual in PDF format is included. Additional information is available at http://psnmp.sourceforge.net/ |
| qos-htb - A bandwidth management package that is designed to be easy to use. It makes graphs from which you can see immediately where bandwidth is being consumed. It is written in PERL and C, and is distributed under the GNU General Public License. |
| YABMAS - Yet Another Bandwidth Management and Authentication System - A small bash script which allows automated management of client bandwidth allocation, and client authentication by MAC address through the use of iptables and htb/tc scheduling. It relies on a linux box with a 2.4+ kernel, patched for htb, sitting inline between your uplink and your clients. Authentication is done by MAC address using iptables - clients may be given a specified IP address for client servers, or they may be created with no associated IP address (good for DHCP). Use of YABMAS requires a good understanding of iptables and tc/htb scheduling. It is for Linux/UNIX/BSD systems and is distributed under the GNU General Public License. |
| bqos - An easy to use bandwidth/Quality Of Service management tool for linux systems. It is written in PERL and is based on Curses and Iproute2. With bqos it is possible it is possible to assign a priority to specific services in sharing bandwidth. Furthermore, it is possible to associate a certain types of traffic with a portion of the bandwith and establish maximum and/or minimum rates. bqos require perl 5, libcurses-perl, and a recent kernel with QOS (cbq, prio) enabled. |
| QOS - A Quality of Service monitoring system that can monitor Cpu, Disk, Memory, etc. on a large number of hosts (300+). It can also monitor web sites, DNS, and other network services, and can generate reports from the collected monitor data. QOS is written in Python. |
| easyshape - Easy Shape - A Web-based bandwidth manager and traffic grapher. It is a frontend that manages "HTB.init" configuration files and allows HTB class graphing via the "tcrrd.pl" tool, making bandwidth shaping easy. It was writen inn HTML and PHP by David Wilson and is distributed under the GNU General Public License. For Linux. http://www.linuxbox.co.za/software/easyshape/ |