Network Engineering and Admins need to ensure network and infrastructure is up at all times and ensure that throughout can and will stay consistent through the most important times of the day for a business.
Ensuring those types of SLA's and uptime will require testing of network resources, services and hardware to ensure that your network is resilient enough to withstand even large influxes of traffic or users at any given time.
This is where stress testing comes into the scene – which can be accomplished using Network Bandwidth Generators for simulating LAN & WAN traffic to ensure your network is up to par and can handle that kind of traffic.
What is Network Stress Testing?
Stress testing is a procedure to find out whether a computer, application, device or the entire network can withstand high loads and remain operational. A stress test can be a simulation of an adverse condition that takes a system down or at least decreases its performance.
Typically, a stress test yields two types of results — either quantitative or qualitative.
The test allows a network admin to collect quantitative results, for example, the frequency of errors or number of crashes. The test can also result in different qualitative measurements, such as resistance to a Denial-of-Service (DoS) attack, battery time, coverage, fault-tolerance, etc.
How Does a Stress test help a network admin?
Intense load conditions are rarely seen out in real-life production environments. So, stress testing help admins uncover real network issues that would be otherwise unnoticed — letting them work on these problems before they happen in real life.
How to Stress Test a Network?
A network lives on traffic — so the best way to test it is to generate a high load of traffic and feed it into the network.
The easiest way?
You could craft a combination of ICMP packets with a simple PING command. But remember that some routers/servers are already protected against stressful traffic — this is to avoid DoS and other attacks.
There are many ways to test your LAN/WAN with ICMP traffic. For example,
- Send Large and unstoppable Packets to a Target:
Change the size of bytes in an ICMP packet header and send it over an extended “ping” command. In Windows use the -t parameter, in Linux and MacOS, the extended ping is active by default. In Windows, use -l to change byte length, in Linux or MacOS use -s. Command: ping -s 8000 (target IP)
- Create a Ping Storm:
A way to test for lost packets and server performance is with a simple “ping -f (target IP).” This command creates a ping flood or storm (you’ll need superuser access).
- Or try a Combination of Both:
Be careful as this could put your server, router, and network into real stress (if the router is not able to reject this traffic).
Do this on many hosts at the same time with the same target, and you’ll be on your way to executing your first a Distributed-Denial-of-Service (DDoS) test attack.
But stress testing for LAN and WAN only on ICMP is not enough — there are too many other protocols around.
Testing the WAN connectivity correctly is critical in any business. Although you could validate an SLA (Service Level Agreement) with a WAN provider by merely transferring a big file, the best way to test it is to drop excessive traffic into the WAN links.
But you might not want to test it with real traffic or with only one protocol. So, the best and most practical way is to use a network traffic generator and stress testing tool for either WAN or LAN bandwidth. These tools allow crafting packets in different protocols, size, use a % of bandwidth, etc.
Here's the Best Network Traffic Generators & Stress Testing Tools:
- WAN Killer Network Traffic Generator
- Ostinato Packet Generator
- Packet Sender
- Nping from Nmap
- Cisco’s TRex
- Packet Generator from NetScanTools
- NTGM from PBSoftware
1. WAN Killer Network Traffic Generator
SolarWinds Engineer’s Toolset is a bundle of over 60 must-have networking tools. Within this package, the WAN Killer Network Traffic Generator is one of the essential tools for testing the traffic and load balancing between servers. This tool helps network admins test WANs and LANs by generating random traffic and sending it over a specific target.
With the WAN Killer Network Traffic Generator, you can specify the target IP, its outgoing port number, and the bandwidth. This tool can help you craft random traffic by defining the size of packets in bytes and by generating data for a percentage of the circuit bandwidth, all from a single interface.
The Engineer’s Toolset is only supported by Microsoft Windows OS.
Other Features this program includes are as follows:
- Adjust DSCP and ECN settings.
- Track UDP/TCP packets.
- Monitor outgoing ports.
30 Day Free Trial !
Get a fully functional 14-day trial of the entire Engineer’s Toolset including the WAN Killer Network Traffic Generator
2. Ostinato Packet Generator
Ostinato is an open source packet crafter and network traffic generator. It lets you create and send packets with different protocols, sizes, and rates. Ostinato can be used as a complementary tool for a packet capture software such as Wireshark, in fact, they claim to be a “Wireshark in Reverse.”
Ostinato comes with a friendly and easy-to-use GUI. It contains three different sections, the ports list, streams list, and the statistics. The ports list displays the active ports on your local system and chooses one to transmit packets. The streams section allows you to create new traffic with different protocols, byte size, mode, rate, number of packets, etc. The statistics section shows the interface and port-level statistics.
Ostinato is cross-platform— supported by Windows, Linux, BSD, and Mac OS X.
Features and capabilities of this software include:
- Automate network tests with its powerful Python API.
- Create and configure multiple streams.
- Open, edit, and save PCAP files.
- Send steady stream, bursts, or many packets.
Although Ostinato is open source, some bundles are not free. It starts at $69.00 for a Desktop Bundle, or an Ostinato Virtual Machine, and Live ISO for the same price. All older versions are 100% free.
To get a copy of Ostinato for free, download it on its official release archive.
PacketSender is a free and open source cross-platform packet crafter and sender. It can send and receive TCP, UDP, and SSL traffic on whichever ports you decide.
Network admins use PacketSender to troubleshoot network devices and secure connections, by sending crafted packets and then analyzing the replies. It is also an excellent tool for testing and developing network protocols. With it, a network admin can evaluate the behavior in terms of performance and security.
Some Features and capabilities of this tool include:
- Send or Receive TCP/UDP/SSL on Clients or Servers.
- Automate and script through the CLI.
- Test against Malware attacks using UDP/TCP/SSL servers.
- Live traffic logs.
- Stress test firewalls.
Open source and free.
Get the PacketSender 100% free from its official website.
4. Nping from Nmap
Nmap is one of the most popular open source network scanners. It can discover devices, hosts, or services by sending packets and analyzing their reply. But Nmap is not only used for finding but also security auditing, network inventorying, monitoring hosts and service uptime, etc.
The Nmap suite includes four additional tools, the Zenmap, Ncat, Ndiff, and Nping. The former, is a packet generation, response analysis, and response time measurement tool. Nping can create network packets from many different protocols and change their size.
Nping doesn't have a GUI; it uses a powerful and flexible CLI. It runs on most popular OSs, including Windows, Linux, and MacOS.
Nping is capable of (but not limited to):
- Stress testing LAN/WAN.
- Detect active hosts.
- ARP Poisoning.
- Execute DoS attacks.
Free and open source license.
Get 100% free and fully functional Nping from Nmap official site.
5. Cisco’s TRex
TRex is an open source high scale stateful/stateless traffic generator from Cisco. It is considered a “Realistic Traffic Generator” because it can create accurate performance metrics and find bottlenecks in real traffic scenarios.
TRex is a stateful traffic generator because it can watch the traffic from end-to-end, and allow users to craft L4 to L7 traffic, which is great for stress testing on DPIs, Firewalls, NATs, IPS, Load Balancers, etc. The tool uses real traffic templates to create traffic based on pre-processing for up to 200-400Gb/sec.
The other functionality allows generation of stateless traffic streams (packets based on source and destination). It supports up to 20 million packets-per-second and multiple streams.
Notable Features of this software include:
- It can emulate Layer 7 traffic.
- It can generate Stateless and Stateful traffic.
Open source and free.
Find the code in the TRex’s Github repository.
6. Packet Generator from NetScanTools
Packet Generator from NetScanTools can create random packets from different protocols (TCP, UDP, ICMP, ARP, CDP, or RAW) and send them to a target host. It gives you full control over the header so that you can modify MAC address, IP, TCP, etc. If you know how to create scripts, you can configure the tool to send different types of packets in sequence. Besides, you can also add different data payloads.
Packet Generator is not a packet flooder, so it might not give you the full spectrum when stress testing with high loads of traffic. But the good thing about this tool is that it can capture packets. Its capture can be playback on the same application or exported to a pcap software such as Wireshark.
NetScanTools Pro Pricing for one user installed version license starts at $249 (USD).
Try a free demo of NetScanTools Pro for 30 days.
8. Network Traffic Generator and Monitor from PBSoftware
The Network Traffic Generator and Monitor (NTGM), from PBSoftware, allows users to create and track IP/TCP/UDP/ICMP traffic. NTGM can help to stress test networking devices, firewalls, and servers. It works by simulating realistic client/server activity and by monitoring the network at the same time.
The interface can display results through different graphs and statistics. A network admin can analyze the protocol statistics in the Network Monitor and track established/failed connections, outgoing resets, maximum connections, echo replies, etc.
License for the full product is $19.99.
Get NTGM from PBSoftware official site.
It is a fact, that what works in a development environment won’t always work in production or real-life situations. Our networks could be correctly designed, carefully implemented, but once out in the real world, there will almost always be unexpected crashes or failures.
Before rolling out a new device or service in a live network environment, test its performance and traffic handling capabilities.
Generating traffic and stress testing your network is one of the most valuable assessment methods to find potential bottlenecks, protocol failures, among other issues.
We only scratched the surface; there are many other stress testing tools and traffic generators out there. But what we mentioned above, is a great place to start. Download the software, configure it in a host and start sending simulated traffic.