Benchmarking the environment of a new network is a crucial part of ensuring its success when it goes live. This includes stress testing and generating traffic on existing networks, both of which help you to identify any potentially flawed or vulnerable areas—for example, drops in connection and packet loss. As we know, network traffic is critical to the success of a business, as it determines how data flows and how effectively your applications interact.
For end users online today, speed and efficiency are everything. A customer isn’t likely to stick around if they experience a significant lag on their end, or if a page is unresponsive. In this thriving digital age, end users have information and services at their fingertips, with rapid access. If they fail to get what they want from you quickly, they’re likely to seek out another organization to meet their needs more effectively.
With a network traffic generator tool or network traffic simulator, you’re able to mimic actual network traffic. These tools simulate stress or load to establish how much the network can handle. By doing so, they give you a clear understanding of what your network can cope with, where the areas of concern are, and at what point the network becomes congested.
While this is important for every business, it’s especially fundamental to businesses with numerous branches needing to maintain constant communication via the wide area network (WAN). If links can’t take the load, then these systems can stop functioning entirely, making day-to-day business extremely delicate. By implementing a network saturation or stress test, you can quickly identify any weaknesses so you can protect your daily activities from failure or downtime.
In this guide, I’ve ranked my favorite network traffic generator tools, with SolarWinds® WAN Killer Network Traffic Generator squarely at the top. A feature-heavy, intelligently designed, and super user-friendly tool, WAN Killer is part of SolarWinds Engineer’s Toolset (ETS), a suite of utilities working together to provide everything a network administrator should need.
Before going into my picks for the best generator software, I’ll briefly outline how traffic generators and stress test tools work.
Basics of Traffic Generators
Traffic generators are a way of injecting traffic into a network for utilization by other devices.
A traffic generator is meant to look like a device on a network, so it can target devices in receipt of traffic. This means it will have a physical, typically higher-level address.
When implemented, a traffic generator attaches to the network via the same interface as other devices to establish brand-new packets. Certain traffic generators may also need to respond to traffic from other devices—for example, when they need to establish an Address Resolution Protocol (ARP) in an IP network or a TCP connection.
Basically, a traffic generator is a tool designed for evaluating the performance of devices under test or systems under test. Traffic generators send RAW packets through certain ports and collect the following data: jitter and latency values, lost packets, TX/RX rates, and out-of-order packets. A traffic generator might be used in a similar way to a bandwidth test utility and can also be used to create packets routed to the packet generator.
Basics of Simulator Stress Test Tools
There are some similarities between traffic generators and simulator stress test tools. The purpose of a simulator stress test tool is to test the performance of a network. When combined with a network traffic generator, it can give you insight into how a network will cope with varying levels of stress and load. A stress test tool can also be used to identify issues like slow-loading or unresponsive web pages.
There are three main types of load simulation: HTTP/S-based, real browser-based, and headless.
- HTTP/S-based tests, which were popular earlier on in the digital age, involve the test driver executing service requests and parsing responses. This type of test ignores the client-side scripts associated with modern Web 2.0 applications. Overall, HTTP/S tests aren’t as useful anymore, because they can’t cope with complex use cases at the protocol level.
- Headless browser-based load simulation was designed in response to the increase in Web 2.0 technologies. Initial headless browsers included HtmlUnit, SlimerJS, and PhantomJS. Headless browsers are usually built from WebKit, which is the engine driving both Chrome and Safari. There are several advantages associated with headless browsers, including the fact that they run quickly without requiring a heavy GUI. They offer realistic user simulation, too, which is a big benefit.
Best Traffic Generator Tools
Below are my rankings for the best network traffic generators and network stress test software, free and paid. I’ve included tools to suit a range of organizational needs to help you find the one that’s right for you.
WAN Killer is bundled into SolarWinds Engineer’s Toolset, a network software suite containing over 60 utilities. These have been designed to cover everything from network discovery and configuration to monitoring and troubleshooting. In addition to WAN Killer, SolarWinds ETS features a port scanner, SNMP sweep tool, switch port mapper, IP network browser, MAC address discovery, and ping sweep.
WAN Killer was designed to assist users in identifying and targeting specific network traffic. It does this by facilitating the generation of your own traffic. You can define a specific IP address or hostname, which the tool will then intentionally bombard with traffic. This process will give you insight into your network performance. You can even define the size and circuit bandwidth percentage, then create data for your WAN tests.
There’s much to like about this tool. You can proactively test network and load balancing by tracking UDP/TCP packets, which will give you insight into how your network performs under specific traffic load conditions, and you can study network activities without using real traffic. The tool takes a risk-free approach to interactively test connections and edit IP traffic, thereby generating the network load you’ve specified. WAN Killer is a flexible tool allowing you to adjust port numbers, packet size, and bandwidth percentage, as well as modify the Differentiated Services Code Point and Explicit Congestion Notification settings.
Once you’ve installed Engineer’s Toolset, you can access WAN Killer by visiting the Diagnostics folder. The launch process is quick and easy. Because WAN Killer supports application-wide settings, you won’t need to adjust settings every time network traffic is generated.
A massive benefit of Engineer’s Toolset is the quantity of tools it delivers. When combined, these tools enable you to effectively manage, troubleshoot, and monitor your entire network. Each one is easily accessible and contained within a single desktop console. There are some truly impressive tools in this bundle. Aside from WAN Killer, I particularly like Memory Monitor, CPU Monitor, Interface Monitor, Response Time Monitor, and TraceRoute.
Engineer’s Toolset features an automatic discovery tool, which will find all your connected network devices and create a network topology map. It can also track availability of devices, utilization of memory, CPU load, the performance of network paths, the latency of network paths, and interface stats. It’s extremely user friendly and dynamic. I especially like the topology maps and other graphical representations, which include pie charts and line graphs.
If you want to try WAN Killer Traffic Generator, download the fully functional 14-day free trial of Engineer’s Toolset.
Packet Sender is a free, open source application with no advertisements and no bundles. It’s capable of sending and receiving TCP, UDP, and SSL on your chosen ports, which enables customized testing. Servers and clients can run at the same time, so you can test in a streamlined and undisrupted way, and all data can be defined, whether in ASCII or HEX. This is a cross-platform tool for Windows, Mac, and Linux.
Packet Sender uses a command line and a GUI, providing a lot of flexibility in terms of the interface you use. The command-line interface accompanies all versions of the application, so you’ll have access whenever you need it.
Packet Sender can be used for a range of activities, including the automation of testing through the use of its command-line tool and hotkeys. It also lets you test network APIs with the built-in UDP, TCP, and SSL clients, and analyzes malware with the UDP, TCP, and SSL servers. Even firewalls and connectivity can be tested. The tool accomplishes this by getting packet senders to communicate with each other.
By providing portable packet senders with predefined settings and packets to customers, Packet Sender is also a means of supporting tech. In addition, it allows you to conduct security research by sending SSL and then analyzing the resulting traffic log.
Packet Sender, available on GitHub, is a great way of controlling network-based devices with minimal manual input and labor. The network generator utility is an effective means of stress-testing devices, and you can use the cloud service to share, save, and collaborate. I like Packet Sender cloud for the way it facilitates collaboration. With it, you can even publicly display and distribute packets for collaboration, tutorials, and utilization by end users via URL.
Packet Sender offers mobile applications for both iOS and Android. These can be purchased at a small cost from either the Google Play store (for Android) or the Apple App Store (for iOS). The mobile applications are a nice touch, and they don’t incorporate any ads, analytics, or calls for reviews. Still, they’re limited in functionality.
Overall, Packet Sender is an effective network traffic generator and analyzer. It’s a great way of finding holes in your firewall, and its lack of a price tag is appealing. However, free and open source tools come with several disadvantages. They don’t tend to be as user friendly as other tools, and they can be less reliable. They’re also not especially suited to business needs. Still, if you want to give Packet Sender a try, downloading it is zero risk. I personally don’t think it’s as dynamic and usable as it could be, but for a free tool the functionalities are generous.
Nping is another popular open source program for network packet generation, response analysis, and response time analysis. With this tool, you can create your own custom packets for flexible protocol testing. Protocol headers can be configured to your liking, allowing you to essentially fine tune your testing approach.
Nping is multifunctional, being both a ping tool and great for RAW packet generation, denial-of-service attacks, tracert, and ARP poisoning. It includes “echo mode,” which enables advanced discovery and troubleshooting. In echo mode, you can see how network packets change when they’re in transit, both at the target machine and at the source.
Essentially, this mode breaks Nping down into two elements—the echo server and the echo client. The echo server is a network service for capturing packets and echoing them to the original client via a side TCP channel. The echo client undertakes the generation of the packets and the transmission of the packets to the server. This element is also responsible for receiving the echoed versions. I like echo mode because it gives you full visibility into the variances between how a packet is sent and how it’s received.
Echo mode is also great for troubleshooting any firewall or routing problems. You can use it to identify whether traffic is being dropped in transit and lost. Because the Nping echo protocol lets client and server interact across an encrypted channel, the security of Nping is highly dependable.
Nping also features custom TCP, UP, ICMP, and ARP packet generation, along with route tracing utilities, and is useful for detecting packet disruption and understanding firewall rules. This is a highly supportive program, with support for multiple target port and target host specifications, Ethernet frame generation, and IPv6. It offers unprivileged modes for non-root users and is fairly customizable.
Like Packet Sender, this tool could be more user friendly. And as with most open source and free network stress test software, it’s not suited to business needs. It’s available for Linux, Mac, and Windows and is simple to download and install. The source code is accessible from the download page.
Ostinato is a popular network traffic and packet generator. This tool has a friendly GUI and boasts a Python API for automating network tests. It allows you to create your own traffic streams and offers surprising customization capabilities. One of the things I like most about Ostinato is the user interface is well designed, with many dynamic graphical representations.
Ostinato boasts features covering a wide scope of functionalities, which makes it a versatile tool. And this high quantity of utilities doesn’t mean the developers have compromised on quality. The features are intelligently designed and easy for the average user to get a handle on. As I mentioned, you can create your own streams; you can also configure them in an in-depth way, with consideration of stream rates, bursts, and number of packets. This is a tool suited to network load testing and functional testing. It affords you the ability to visualize data on a “per stream” basis, giving you an accurate look at packet loss measurements at a granular level.
Ostinato is also great for achieving real-time network measurement and monitoring. Its efficient and economical design enables you to receive and transmit stats and rates at the level of the interface. There is also the fact that Ostinato is highly compatible and supportive. It covers most protocols, including VLAN, ARP, IPv4 and IPv6, IP in IP, TCP and UDP, ICMPv4 and ICMPv6, IGMP, MLD, IEEE 802.3 LLC, SNAP, and text-based protocols.
With Ostinato you can stack protocols in random order to test error cases and vary packet fields across packets at the runtime stage—for example, by changing the IP/MAC addresses. The tool features user-defined scripting, which can be utilized to substitute a protocol that hasn’t been implemented. You can open, edit, replay, and save PCAP files. And despite there being only one controller, you can have multiple agents.
All in all, this is a feature-heavy tool. There are, however, a few important functions Ostinato will not do. Among these, it should be noted Ostinato is stateless, which means it doesn’t support stateful connection-oriented TCP connections. Moreover, it’s not suitable for generating fake traffic and sending it to websites.
If you want to give Ostinato a try, you can download it here. There are three packages available. The first is for use on either Windows, Mac OS, or a single distribution of Linux. The second package is a desktop bundle available for all three—Windows, Mac OS, and Linux (it supports upward of seven Linux distributions). This package features free updates and example streams. The super bundle, package three, features all of the above, plus Live ISO and virtual appliance compatibility. Two add-ons—Python API and Turbo Transmit—are also available. Turbo Transmit gives you 10G, 25G, or 40G speeds, while Python API is suitable for boosting automation capacities.
NetScanTools Pro network testing software includes the Packet Generator and Packet Flooder tools. Packet Generator is a decent tool allowing you to create a UDP, TCP, CDP, ICMP, ARP/RARP, or RAW packet and send either a single packet or multiple packets to an IPv4 address. This tool was designed primarily as a packet generating and crafting utility. If you want to flood a network with packets and traffic as a means of stress testing it, then you’ll want to combine Packet Generator with the Packet Flooder tool. Alone, Packet Generator cannot create high-speed traffic and won’t respond to returning packets. A combination of the two, however, could make for a comprehensive tool.
With Packet Generator, you’re afforded complete control over headers, including the destination of MAC addresses, the source of Ethernet traffic, and IP, TCP, UDP, and ICMP header fields. This program is great for sending multiple types of packets in quick succession by utilizing scripting processes, and for playing back a packet capture file saved in the past.
One feature I like about Packet Generator is the fact that packet transmissions are scripted. Scripting is simple, and the feature means the parameters of your packets can be changed according to edited script. I also like the mode dedicated to RAW packets. Basically, this mode lets you define the packet by using the NetScanTools hex editor. RAW packet length is limited by the maximum transmission unit of your network (usually 1460 bytes).
Unfortunately, Packet Generator doesn’t have the capability to send customized packets via WAN interfaces such as modems. It can only send via wired Ethernet or wireless 802.11x interfaces. Packet Flooder, meanwhile, is primarily a UDP network traffic generator. It’s able to send packets to IPv4 and IPv6 addresses at a relatively high speed, achieving as much as 98% bandwidth usage under certain circumstances. The major drawback to this tool is it cannot send packet types other than UDP.
With the NetScanTools Packet Flooder tool, you can fix the target UDP port, or make it entirely random. This is useful for certain tests. Data payloads can also be customized, with adaptable length and content; payload content can include random characters, repeated characters of the alphabet, file data, or text data. This feature is available on any interface Windows can send UDP packets through.
Unlike Packet Generator, Packet Flooder does not use WinPcap or Npcap. This means there aren’t any limitations as to which devices are compatible. Rather, the interface is determined by the operating system, according to the IPv4 or IPv6 routing table contents. It’s worth noting, the bandwidth utilization achieved with this tool depends on data reports generated by the operating system. Reports take the form of a historical chart or a gauge—two dynamic and easy-to-read methods for displaying data.
If you want to try the NetScanTools Packet Generator and Packet Flooder, check out the NetScanTools Pro demo version, which is free for 30 days. Bear in mind this isn’t the full version, and the demo version cannot be converted to the full version simply by unlocking it.
TRex is another open source program, though this one isn’t free. Still, it’s a good value, and it boasts a flexible offering. TRex incorporates both stateful feature sets and stateless feature sets. The stateful feature sets include support for DPDK ½.5/5/10/25/40/50/100Gbps interfaces, a high scale of traffic (up to 200-400GB per second), latency measurements, jitter measurements, checks for flow ordering, and NAT/PAT translation learning.
The stateless feature sets include the ability to craft stateless streams of traffic up to a scale of 20 million packets per second, along with support for numerous streams; the capacity to alter any field within the packet; continuous support, burst support, multi-use support, multi-burst support, console support, and GUI support; per-stream statistics for latency and jitter; and Python API for boosted automation.
This is a good tool for benchmarking and stress testing NAT, firewall, IPS, load balancer, and network cache devices, offering unlimited concurrent flows. The main issue with TRex is it doesn’t offer support for routing emulation plugins, like BGP, ISIS, and RIP.
Top-Ranking Network Traffic Generator
When looking for a tool to generate or simulate network traffic, you’ll encounter a wide variety of options. After reading this guide, you should have a sense of the available tools and which might be best suited to your needs. Some are free and more limited in scope, while others are part of comprehensive toolsets. When available, take advantage of the free versions of the premium software.
SolarWinds Engineer’s Toolset, specifically WAN Killer, is my favorite network traffic generator on the market. Alongside the traffic generator element itself, the overall offering included in the wider toolset is unbeatable. With more than 60 tools working together with remarkable success rates, ETS offers great value, intelligent features, and a user-friendly design, and it’s available as a free trial.