Home : Our Work : Areas of Research : Information Technology : NCS : MGEN


The Multi-Generator (MGEN) Network Test Tool is an open source software developed by the NRL PROTocol Engineering Advanced Networking (PROTEAN) Research Group. MGEN provides the ability to perform Internet Protocol (IP) network performance tests and measurements using Transmission Control Protocol (TCP) and User Datagram Protocol (UDP/IP) traffic.

The toolset generates real-time traffic patterns so that the network can be loaded in a variety of ways. The generated traffic can also be received and logged for analysis. Script files are used to drive the generated loading patterns over the course of time. These script files can be used to emulate the traffic patterns of unicast and/or multicast UDP and TCP IP applications. 

The receive portion of this tool set can be scripted to dynamically join and leave IP multicast groups and listen for traffic. MGEN log data can be used to calculate performance statistics on throughput, packet loss rates, communication delay, and more through Tcpdump Rate Plot Real Time (TRPR) or other tools. MGEN currently runs on various Unix-based (including MacOS X) and Win 32 platforms.

MGEN Version 5.0 supports TCP messaging, IPv6 networking, and provides support for Win32 platforms in addition to a broad base of Unix-based platforms. Support for additional statistical traffic generation patterns (JITTER and CLONE), transport buffering, message count, and payload enhancements are added.

MGEN 5.x Documentation


MGEN Downloads

  • MGEN 5.x source and binary distributions are available for download on GitHub.
  • The trpr (Trace Plot Real Time) analysis program and gpsLogger Global Positioning System (GPS) utilities are available at the PROTEAN Tools webpage.
  • The gpsLogger utility allows MGEN to report GPS host position information in the test message payload. This can be useful for mobile network testing and evaluation.

MGEN Installation

The MGEN application can be easily built on most Unix-based platforms and Win32 platforms. The MGEN source code is also available for checkout from GitHub. See the instructions there for further details.

Note that the NRL Protolib source code distribution is required and is also available at our downloads site.


The MGEN program can be built with gcc on most Unix platforms.
  1. Download and unpack the MGEN source code distribution. Place the unpacked Protolib source directory in the new MGEN directory.
  2. cd mgen/makefiles
  3. Select the appropriate Makefile.{os} for your operating system and type "make –f Makefile.{os} mgen" to build.


A Visual C++ workspace and project is provided to build the MGEN tool. Note that the Microsoft Platform SDK may be required to build MGEN with some of its more advanced networking features such as IPv6 support.
  1. Download and unpack the MGEN source code distribution.
  2. cd mgen/makefiles/win32
  3. Open the Visual C++ mgen{VSVersion}.sln file appropriate to your Visual Studio version, e.g. mgen-2008-espress.sln.
  4. Type F7 to build the mgen.exe program. (The executable will be found in the directory "mgen/win32/Release" or "mgen/win32/Debug" depending upon which configuration is selected).