NetStrain is a tool to measure practical data throughput between two machines over a TCP connection. It can be used for performance testing, stress/stability testing and to demonstrate various network effects. It supports both IPv4 and IPv6, provided the underlying system does.
NetStrain is also intended to demonstrate basic TCP socket programming and IPv6 support. It includes an getaddrinfo() / getnameinfo() emulation that can be reused in other programs.
NetStrain is written in C and is designed to compile on any modern Unix flavour. It requires no special libraries.
Download the source tarball here:
Some strain of Unix with reasonable sockets support is required. So far, NetStrain has been tested on the following systems:
Of these, Linux, FreeBSD, Solaris, and Darwin 6.x supported IPv6 during the tests.
This project is hosted by SourceForge. You can use the trackers to submit bug reports, feature requests, and patches. The latest development source is available from the CVS repository. Other resources are listed on the project summary page.