EVERYTHING XIAOMI
Get listed

TRex

TRex is a free, open-source traffic generator for benchmarking network platforms with realistic traffic.

Place
#7 of 33
Score
6.8
TRex's website

What TRex is

TRex is a free, open-source traffic generator for benchmarking network platforms with realistic traffic. It can create Layer 3–7 traffic in stateless, stateful, and advanced stateful modes. Stateless operation supports multiple streams, packet-field changes, and per-stream or per-group measurements for statistics, latency, and jitter. Advanced stateful mode emulates Layer 7 traffic over scalable TCP and UDP flows. Emulation covers protocols including ARP, IPv6, ND, MLD, IGMP, ICMP, DOT1X, DHCPv4, DHCPv6, and DNS. TRex provides a Python automation API and console interface; stateless functions can also be accessed through JSON-RPC. The manual describes it as a Linux application using DPDK and Linux kernel modules, intended for COTS x86 servers. The site says a single server can scale up to 200 Gb/sec. It can run in a virtual machine or Docker for low-footprint use, though virtual switches can restrict throughput and virtual-machine latency results are inaccurate. Hardware and NIC requirements apply.

Good

  • Free and open source.
  • Supports stateless, stateful, and advanced stateful traffic.
  • Python API, console, and JSON-RPC access.
  • Emulates a range of network protocols.
  • Can run in a VM or Docker.

Watch out

  • Hardware and NIC requirements apply.
  • Linux application using DPDK and kernel modules.
  • Virtual switches can limit throughput.
  • VM latency results are not accurate.

Who it suits

TRex suits teams benchmarking network devices, generating DDoS traffic, or testing clients, servers, switches, and routing protocols. It is aimed at Linux-based setups, with x86 server support described in the manual.

Verdict

TRex offers several traffic-generation modes, protocol emulation, and automation options without a software charge. Check hardware requirements and virtual-environment limits before choosing a deployment.

Plans and prices

From TRex's own pricing page, checked 4 Oct 2026.

All about pricing
PlanPriceWhat it gives you
TRexFreeOpen source · Linux application · hardware and NIC requirements apply

The facts

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

What it does

Advanced stateful
Advanced stateful mode emulates Layer 7 traffic over scalable TCP and UDP flows.checked 4 Oct 2026
Automation
TRex provides a Python API and a console interface, and its stateless API can be used through JSON-RPC from languages that support it.checked 4 Oct 2026
Automation API
The documentation provides Python automation APIs for stateless, stateful, advanced stateful, emulation, and NDR functions.checked 3 Oct 2026
Deployment
TRex is a Linux application; the documentation also describes running it in Docker or a VirtualBox virtual machine for experimentation.checked 4 Oct 2026
Emulation protocols
Emulation includes ARP, IPv6, ND, MLD, IGMP, ICMP, DOT1X, DHCPv4, DHCPv6, and DNS.checked 3 Oct 2026
GUI support
The TRexViewer live monitoring application is supported only on Windows OS.checked 4 Oct 2026
Integration
The documentation describes an integration with BIRD for Linux based stack configuration.checked 4 Oct 2026
Operating system
The manual describes TRex as a Linux application that uses DPDK and interacts with Linux kernel modules.checked 3 Oct 2026
Performance
The site says TRex can scale up to 200 Gb/sec with one server.checked 4 Oct 2026
Protocol emulation
Its emulation functionality includes ARP, IPv6, ND, MLD, IGMP, ICMP, DOT1X, DHCPv4, DHCPv6, and DNS.checked 4 Oct 2026
Purpose
TRex is an open source traffic generator for benchmarking and testing network devices with realistic traffic.checked 4 Oct 2026
Security
The opened official pages do not state security certifications or compliance claims.checked 3 Oct 2026
Stateful features
Advanced Stateful mode supports L7 traffic with scalable TCP and UDP.checked 3 Oct 2026
Stateless features
Stateless mode supports multiple streams, packet field changes, and per stream or group statistics, latency, and jitter.checked 4 Oct 2026
Support
The documentation lists a TRex community forum and Cisco DevNet community as support resources.checked 3 Oct 2026
Traffic generation
TRex generates L3–7 traffic and offers stateful and stateless traffic generation modes.checked 3 Oct 2026
Traffic modes
It supports stateless, stateful, and advanced stateful traffic generation.checked 4 Oct 2026
Use cases
The FAQ lists high scale benchmarks, switch testing, large client and server scale tests, production tests, and routing protocol tests as common use cases.checked 4 Oct 2026
Virtual environment limits
The FAQ says virtual switches can limit throughput to around 1 MPPS and latency results in virtual machine setups are not accurate.checked 4 Oct 2026

Where it runs

Platform limit
The manual says TRex should work on COTS x86 servers and can be compiled for ARM, though ARM is not tested in its regression setup.checked 4 Oct 2026
The full review of TRex

TRex is an open-source traffic generator for benchmarking network platforms with realistic traffic. It best suits network engineers and teams that need scalable traffic generation and protocol emulation on Linux infrastructure. Its broad traffic modes and Python automation make it a capable free option, though hardware requirements and virtual-environment limits shape where it fits.

Overview

TRex generates Layer 3–7 traffic in stateless, stateful, and advanced stateful modes. Stateless workloads can use multiple streams, alter packet fields, and collect per-stream or per-group statistics, latency, and jitter. Advanced stateful mode emulates Layer 7 traffic over scalable TCP and UDP flows. The site says one server can scale up to 200 Gb/sec, making TRex relevant to high-volume benchmarks as well as switch, routing, client/server scale, production, and DDoS traffic tests.

Its protocol emulation covers ARP, IPv6, neighbor discovery, MLD, IGMP, ICMP, DOT1X, DHCPv4 and DHCPv6, and DNS. The broader protocol support also includes LLDP, mDNS, NetFlow/IPFIX, OSPF, RIP, and GTP-U. Python APIs span its traffic-generation, emulation, and NDR functions; stateless automation can also use JSON-RPC, and a console interface is provided. BIRD integration supports Linux-based stack configuration.

That range favors teams building repeatable network-device benchmarks or automated test workflows. It is less suitable when accurate latency measurement in a virtual machine is essential: virtual switches can constrain throughput to around 1 MPPS, and VM latency results are not accurate.

Key features

Traffic generation and emulation

Stateless mode gives users fine-grained stream and packet-field control alongside latency, jitter, and statistics. Stateful and advanced stateful modes add scalable TCP/UDP workloads and Layer 7 emulation, which is useful when a benchmark needs more than packet-rate generation. Emulated network protocols extend the range of device and stack scenarios TRex can represent.

Automation and deployment

Python APIs cover the main TRex functions, while JSON-RPC offers a route to stateless control from other languages that support it. The documentation describes VM and Docker deployments for lower-performance, low-footprint use without extra hardware. Those environments trade convenience for meaningful performance constraints; they should not stand in for hardware when throughput or latency accuracy matters.

Pricing

TRex costs nothing. Its open-source Linux application is free of charge, with hardware and NIC requirements applying. There are no paid tiers or seat and usage quotas stated for TRex, so it is a strong fit for teams able to supply and manage compatible infrastructure rather than pay for a hosted service. The free price does not remove the cost or effort of suitable hardware and deployment.

Platforms

TRex is a Linux application built on DPDK and Linux kernel modules, and is described as working on COTS x86 servers. ARM compilation is possible, but ARM is not tested in its regression. Although the platform listing also includes API, macOS, self-hosted, web, and Windows, its core application is Linux-based. TRexViewer live monitoring is supported only on Windows.

Who it's for

TRex is a good match for network teams benchmarking devices at scale, generating traffic for switch or routing tests, emulating clients and servers, or automating repeatable network tests. It also suits engineers who can operate Linux and meet hardware and NIC requirements. Choose a different approach if you need dependable VM latency results, tested ARM support, or a tool that avoids infrastructure management.

Pros and cons

  • Pros: Three traffic-generation modes cover stateless workloads through scalable Layer 7 TCP/UDP emulation, supporting varied benchmark needs.
  • Pros: Python automation and JSON-RPC stateless control enable integration into test workflows without limiting users to the console.
  • Pros: Open-source access costs nothing, with no paid TRex tier to unlock its core capabilities.
  • Cons: Hardware and NIC requirements make deployment a poor fit for teams seeking an infrastructure-free service.
  • Cons: Virtual switches can cap throughput around 1 MPPS, and VM latency results are inaccurate, so virtual deployments are not substitutes for performance-grade testing.
  • Cons: ARM compilation is possible but not regression-tested, and the TRexViewer monitoring application is Windows-only.

Alternatives

For more network-testing options, browse Network Testing Software.

  • PingPlotter is worth considering for connection monitoring across iOS, Linux, macOS, web, and Windows; its free plan is limited to one connection, no remote collection, and 10-minute monitoring history, while Professional Edition is $29 a month.
  • Invariant is an API- and web-based alternative with a free Basic account described as having effectively no usage limits.
  • Cisco pyATS is another free, open-source choice for Linux, macOS, and self-hosted environments.
  • perfSONAR is a free, open-source network measurement toolkit for Linux and self-hosted use, with installation and operation requiring user-managed infrastructure.
  • EVE-NG may suit users seeking a network emulation environment; its free plan permits 7 nodes per instance and 63 per lab, with Admin role only.
  • NetBeez is a paid option with Starter, Base, and Enterprise plans for network or remote-worker agents.
  • IP Fabric is a paid alternative with an annual subscription based on active devices and cloud objects, plus a support package; a free trial is offered.
  • GNS3 is free, open-source software for users who want a downloadable network simulation tool.

Verdict

Choose TRex if your team needs flexible, automatable traffic generation for serious network benchmarks and can provide Linux-compatible hardware and NICs. Its breadth of traffic modes and protocol emulation is the central draw at no software charge. Look elsewhere if virtualized latency accuracy, tested ARM support, or a managed deployment matters more than that control.

Alternatives to TRex

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