EVERYTHING XIAOMI
Get listed

MoonGen

MoonGen is a free, MIT-licensed packet generator for high-speed network testing on Linux.

Place
#25 of 33
Score
5.7
MoonGen's website

What MoonGen is

MoonGen is a free, MIT-licensed packet generator for high-speed network testing on Linux. It uses DPDK and LuaJIT, and Lua scripts can craft packets in real time while controlling both transmission and reception. The project describes filling a 10 Gbit/s Ethernet link with 64-byte packets on one CPU core while modifying them with Lua. It supports multiple cores, with a performance target above 20 million packets per second per core. Supported traffic includes Ethernet, IPv4, IPv6, UDP, TCP, ARP, ICMP, and PTP. MoonGen offers rate control and hardware timestamping with precision and accuracy below 100 ns on supported network cards. It can be used to benchmark systems such as firewalls and check which packets they drop. A simplified command-line interface is available for quick tests, while its full API supports custom scripts and more complex setups. The related MoonEm tool can emulate path delay, rate limits, and random packet loss. Installation involves a build script and binding network cards to DPDK; supported features vary by card model.

Good

  • Free and MIT licensed.
  • Lua scripts control packet transmission and reception.
  • Supports multiple cores and high packet rates.
  • Provides rate control and hardware timestamping on supported cards.

Watch out

  • Requires a DPDK-compatible network card.
  • Card features vary by model.
  • Hardware checksum offloading and timestamping do not work on ixgbe NICs with this version.

Who it suits

It suits network engineers who need scripted packet generation to benchmark systems such as firewalls. Users need Linux, a DPDK-compatible network card, and Lua scripts for full API use.

Verdict

MoonGen offers scriptable packet generation and measurement for Linux network tests. Check NIC compatibility first, especially if hardware timestamping or checksum offloading is needed.

Plans and prices

From MoonGen's own pricing page, checked 8 Oct 2026.

All about pricing
PlanPriceWhat it gives you
MoonGen (MIT licensed)FreeRequires DPDK compatible NICs · NIC features vary by model · Requires custom Lua scripts for full API use

The facts

Each one read from MoonGen's own pages, with the date it was checked.

What it does

Hardware support
Basic functionality is available on DPDK-supported NICs; hardware timestamping and rate control support varies by NIC model.checked 8 Oct 2026
Installation
The documented installation uses a build script and requires binding NICs to DPDK; Debian and Ubuntu dependencies are listed.checked 8 Oct 2026
Interface
MoonGen offers a simplified command-line interface for quick tests and a full API for custom scripts and more complex test setups.checked 8 Oct 2026
Known limitation
The README says hardware checksum offloading and timestamping do not work on ixgbe NICs with this version of MoonGen.checked 8 Oct 2026
License
The repository identifies the project as MIT licensed.checked 8 Oct 2026
Measurement
MoonGen supports precise rate control and hardware timestamping, with timestamp precision and accuracy below 100 ns on supported NICs.checked 8 Oct 2026
Packet control
User-provided Lua scripts craft packets in real time and control packet reception as well as transmission.checked 8 Oct 2026
Path emulation
The related MoonEm tool can emulate path delay, rate limits, and random packet loss.checked 8 Oct 2026
Performance
The README says MoonGen can saturate a 10 Gbit/s Ethernet link with 64 byte packets on one CPU core while modifying each packet with a Lua script.checked 8 Oct 2026
Purpose
MoonGen is a scriptable high-speed packet generator built on DPDK and LuaJIT.checked 8 Oct 2026
Scaling
MoonGen supports multiple cores and reports more than 20 million packets per second per CPU core as a performance target.checked 8 Oct 2026
Use cases
The README describes using MoonGen to benchmark systems such as firewalls and to check which packets a system under test drops.checked 8 Oct 2026

Alternatives to MoonGen

All alternatives
  1. 1PingPlotter logo

    PingPlotter

    Free planiOSWebAPILinux
    8.2From $6.99 a month
  2. 2

    iPerf2

    Free planOpen sourceAndroidiOSLinuxmacOS
    7.8Free plan
  3. 3GitHub CodeQL logo

    GitHub CodeQL

    Free planWebExtensionLinuxmacOS
    7.5From $30 a month
  4. 4

    Avidemux

    Free planOpen sourceWebLinuxmacOSWindows
    7.3Free plan
  5. 5EVE-NG logo

    EVE-NG

    Free planWebLinuxmacOSSelf-hosted
    7.0Free plan
  6. 6Netpicker logo

    Netpicker

    Free planWebAPILinuxSelf-hosted
    6.8From $7,500 a year