What is network stress testing?
Stress testing of a network is the practice of deliberately and intensely testing it by overloading it with all – or as many as possible – protocols (TCP, IP, UDP, and ICMP, etc.) and data types (audio, video, image, etc.).
This kind of testing, which is also known as “torture testing” involves pushing networks beyond their normal operating capacities, to find their breaking points. It is meant to find their limits and also to observe their network performance (or deterioration) as they approach these extremes.
Based on these observations, the network’s designers or administrators can strengthen the weak points, clear bottlenecks, or replicate optimal strengths.
Here is our list of the best automatic network stress testing tools:
- Packet Sender EDITOR’S CHOICE This free, open-source network tool is for sending and receiving TCP, UDP, and SSL packets. It helps with testing, debugging, and analyzing network communication by simulating packet transfers. Runs on Windows, macOS, and Linux.
- Ostinato A network traffic generator that is open source, but charged for. Runs on Windows, Linux, Mac OS, and Raspberry Pi.
- NetScanTools Pro A bundle of network management and monitoring tools that includes packet and network traffic generators.
- Scapy This free tool can capture, analyze, alter, duplicate, and rebroadcast network traffic packets. Runs on Linux, Mac OS, and BSD Unix.
- Colasoft Packet Player This Linux-based tool will resend packets captured with other packet sniffing software, such as Wireshark.
- SolarWinds WAN Killer Traffic Generator This automated packet generator is part of the SolarWinds Engineering Toolset. The tool is useful for testing LANs and firewall capacity as well as WANs.
Why would you want to stress test your network?
Modern networks are usually efficient digital structures – built with the help of software and hardware – that securely connect electronic devices. We say “usually” because, depending on the number of devices that need to be connected, and the amount of data that is transported across it, a network could reach its capacity limits and even end up being overwhelmed. If this data overload, or “stress,” continues to grow it could bring the whole network to a grinding halt.
That is why we need network stress testing – both to prevent crashes as well as discover any weak points before they cause them.
There are many reasons why a business or an administrator would want to perform stress tests on a network. Some of these reasons are:
- Better uptimes – businesses in today’s competitive market can’t afford any downtime. They may, therefore, use stress tests as a prevention method.
- Pre-analysis and standardization – a business that has just had a new network setup would want to know if the installation is indeed as resolute as they intended it to be. This is especially important in scenarios where the new LAN or WAN is expected to bear a large amount of data and network traffic. The analysis can also be used to check if the network complies with industry standards before it goes live.
- Disaster prevention mechanism – it isn’t unheard of that a business, with the intention of driving sales up, makes an offer to the public (freebies, discounts, prizes, etc.) that are too good to pass on. But, when their visitors arrive to take them up on their offer, their networks and/or servers crash due to overloads.
Businesses, therefore, pre-stress test their networks to see if they can prevent possible disasters.
In fact, there are real-life examples of networks being brought down because of the sheer amount of traffic surges that had not been planned for:
- The retail company that saw a flood of orders during the holiday season and then had its network come crashing down.
- An airline company that had to handle – rather unsuccessfully – the sudden influx of clients who tried to log in because they had heard about their festival discount offers.
- There have been numerous examples over the years of networks being hit by hackers or malicious software and being overwhelmed and causing millions of dollars’ worth of damage.
With stress testing, these companies would have had at least an idea of what their networks were capable of and perhaps been proactive enough to either improve their capacities or used other preventive measures.
Related post: Best Network Performance Testing and Load Testing Tools
What causes stress on a network in a business environment?
As we have just seen, external traffic can wreak havoc on a business’ network. But then again, the same businesses, especially big ones or those that primarily deal with data transfer and storage, usually see a major part of their network resources put under stress due to their internal business processes.
Apart from these data transfers, which are expected, there are certain data types that could cause even more stress on their network. These data types include media files and performance- or time-sensitive online transactions that are treated as “VIP” priority packets that need to be handled with more care – at the cost of other “lesser” data types. Without Quality of Services (QoS) implemented on the network, it is an invitation for disaster.
The picture becomes complete when you throw in network security devices and software solutions like Intrusion Prevention Systems (IPS) and Intrusion Detection Systems (IDS), routers, and firewalls – all of which need a fair share of a network’s limited resources. It becomes quite evident that the network will soon become too crowded and result in it being stressed.
How is network stress testing done?
There are two ways to do network testing:
Manual networks stress testing
You can stress-test your network by issuing commands using a command prompt. For, example, on a Windows machine you would test it using the following steps:
- Open your command console and type in ping –t XXX.XXX.XXX.XXX with the X’s representing the IP V4 address of a target host on the network that will be used for the test.
Image – Screenshot was taken on 19/06/2019
In the example above, the target device’s address is 10.0.111.144 and the ping command is executed continuously (because of the “-t” option) until it is stopped using the CTRL+C command.
The response tells us:Â the target host is online (because it is replying), the size of the network packet that was sent to it (32 bytes), the response time (1ms), and the time to live or TTL after which a timeout would occur (128ms).
- This command is to be repeated on all the devices that are on the network which will simulate a busy network. As the number of packets and their sizes increase, there will be an eventual increase in delayed response times as the network’s capacity to transport the data deteriorates.
- The network will be considered to be fully overwhelmed when all (or a majority) of the devices display a “Request timed out” message.
Image source
Stress testing with automated tools
Day-to-day network management requires the assistance of specialist network monitoring tools to check that the network’s performance is acceptable and to plan for future capacity requirements. Consideration of potential growth in traffic needs to be accounted for when the business plans new functions or expands its personnel. For example, a new product or a planned advertising campaign might be expected to increase demand on a web server, or create extra business activities that could strain the current capacity of network infrastructure.
Stress testing a network link by link will reveal potential bottlenecks and allow network managers to take appropriate action. It could be that the current network topology is inefficient or it could be that traffic-shaping measures would be enough to ensure acceptable service is maintained on all application traffic.
Network throughput monitoring, capacity planning, and demand trend projections are all useful ways to future-proof a network. However, a real-life run through of future traffic expectations puts the theory to the test. A packet generator running high volumes of different types of traffic through the network helps the network management team ensure that their plans have made the network ready for the expected demand.
Related post: The difference between Throughput and Bandwidth
Best automated network stress testing tools
There are many packet generators and traffic stress testers on the market, but not all of them are any good. We have examined the best of the network stress tools and created a shortlist of the best.
Our methodology for selecting a traffic generator
We reviewed the market for traffic generation systems and analyzed the options based on the following criteria:
- A system that gives you the option of replaying real traffic
- A service that has no risk of being hacker-provided
- An effective creator of varied and realistic synthetic traffic
- A reputable service provided by an established company that won’t have legal consequences
- A tasting dashboard that includes results analysis
- The offer of a free trial period or test run credits for a risk-free assessment
- A valuable service at a reasonable price that is able to provide meaningful test results
1. Packet Sender
Packet Sender is a free, open-source network traffic generator. Â It can direct generated UDP, TCP, and SSL traffic to a specific device and to a specific port. This enables individual network devices to be tested as well as traffic capacity on links across a network. The tool can be used for security testing as well as for network stress testing. As well as testing the local network, Packet Sender can be set to deliver generated packets across the internet to test connections to remote sites or cloud services.
Key Features:
- TCP, UDP, and SSL traffic
- Stress test individual devices
- Path evaluation
- Free to use
Why do we recommend it?
Packet Sender is a fantastic utility for network administrators who don’t have much experience in network testing because the website that delivers this free tool also contains very detailed guides on how to use the tool and what patterns to look out for when you run the generated traffic through your network.
The software for Packet Sender presents a command-line utility and a GUI interface. The system runs on Windows, Linux, and Mac OS. There is also a limited, paid Packet Sender app for Android and iOS devices.
Who is it recommended for?
Larger businesses with highly qualified network engineers would probably feel more comfortable using a paid tool. However, small businesses and students of network management would really enjoy using this tool and learning from it.
Pros:
- Completely free to use
- Open-source platform – verifiably secure
- Offers a lightweight command-line interface as well as GUI
- Available as an Android and IoS mobile app
Cons:
- No paid support option
- Not the best option for larger networks
EDITOR'S CHOICE
Packet Sender is our top pick for a network traffic generator because it is a versatile, free, and open-source network tool designed to send and receive TCP, UDP, and SSL packets across a network. It is widely used by network administrators, developers, and security professionals for testing, debugging, and analyzing network communication. With its simple and user-friendly interface, Packet Sender allows users to create custom packets, configure packet headers, and simulate network traffic to troubleshoot and verify the behavior of networked applications. One of the attractive features of Packet Sender is its ability to send data over both TCP and UDP protocols. This flexibility makes it valuable for testing a wide range of applications, from client-server communications to more complex systems like IoT devices or web services. Packet Sender supports SSL encryption, allowing users to test secure communication channels, making it an essential tool for security assessments and penetration testing. Packet Sender also includes features for packet capture and analysis. Users can monitor the packets they send and receive, making it easier to identify issues like data loss, packet corruption, or unexpected behavior. The tool’s ability to send large volumes of data or perform repetitive tests makes it ideal for stress-testing networks and services under different conditions. Packet Sender is an invaluable tool for anyone involved in network troubleshooting, development, or security, offering powerful capabilities for simulating and analyzing network traffic.
OS: Windows, macOS, and Linux
2. Ostinato
Ostinato generates packets and sends then out on the network in a pattern or in irregular bursts, mixing traffic destined for different ports in order to emulate typical business network traffic.
Key Features:
- Creates irregular traffic bursts
- Range of traffic types
- Test a path or a device
Why do we recommend it?
Ostinato is a similar tool to Packet Sender except that it is not free to use – there are some older versions available for free. This tool is a good traffic generator for networks of any size. A low-cost version comes with community support but the top two editions include professional support.
The tool has a comprehensive interface that presents a long list of traffic creation options. The creators also provide an API library, written in Python, which enables integration into other tools to automate testing. Streams of packets can be sent in surges and bursts and reporting functions enable the Ostinato console to report back on a target device or link performance.
Ostinato is available for Windows, Linux, Mac OS, and Raspberry Pi and it is offered on a trial with limited functionality for Windows only.
Who is it recommended for?
Different sizes of businesses will gravitate towards a different edition of Ostinato. The tool in all editions will run on Windows, macOS, or Linux, which gives the tool a wide audience. The website for the tool also provides some great tutorials, which makes Ostinato a good choice for learning network engineers.
Pros:
- A simple yet detailed interface that is easy to navigate
- Packet statistics such as frames sent, captured, and transmitted are captured and displayed live during testing
- Transparent open-source project
Cons:
- Only older versions are free
3. NetScanTools Pro
NetScanTools Pro is a bundle of network management, monitoring, and testing tools that includes a Packet Generator and Packet Flooder, which transmit generated packets over a network.
Key Features:
- Network or internet tests
- Path analysis
- Capture and replay option
Why do we recommend it?
NetScan Tools Pro is a package of diagnostic tools rather than an everyday monitoring system. The bundle is a great addition to the usual tools that a network manager would use from day to day – you wouldn’t use the NetScan Tools Pro system every day.
Packet Generator will send generated traffic to a specific IP address or MAC address. They can be generated as UDP, TCP, CDP, ICMP, ARP/RARP, or RAW packets. Packet generator can also replay captured packets across a network. The tool can capture packets itself or import a WinPcap or Npcap file and can interface with Wireshark. Packet Generator is only able to send packets on a local network.
Packet Flooder can send packets out over the internet as well as around the local network. This tool doesn’t read WinPcap or Npcap files.
The entire NetScanTools Pro suite is available in a 30-day demo version. The software runs on Windows and there is also a portable version that runs on a USB stick and cab accessed from any operating system.
Who is it recommended for?
NetScan Tools Pro is available for installation on desktops and laptops. It can also run off a USB stick. The laptop and USB options are ideal for network consultants. If you get called in to help a business sort its network out, you can run tests with generated traffic from this toolkit and assess the network’s responses with the other tools in the package.
Pros:
- Supports random packet generation
- Provides full technical control over data, including header, destination, size, and protocol
- Supports scripting, great for automating the same tests
- Offers packet capture, with pcap support
Cons:
- Has a steeper learning curve than similar tools
- Does not support packet flooding
4. Scapy
Scapy is a free packet manipulation utility, written in Python. The utility runs at the command line and it is available for Unix and Unix-like systems, so it will run on Linux and Mac OS. There is also now a version for Windows.
Key Features:
- Command line tool
- Capture, edit, and replay packets
- Free to use
Why do we recommend it?
Scapy is a free tool and it will install on Windows, macOS, and Linux, which makes it sound like a match for Packet Sender. However, Scapy works in a different way because it doesn’t generate mass packets for transmission but forges individual packets. This is a penetration testing tool that can implement a range of network traffic tricks.
The tool can create packets or capture them and decode them by de-referencing its header data, thus identifying its protocol/port, sender and receiver. Captured packets can be stored, edited, and replayed over the network.
Who is it recommended for?
Penetration testers will love this free tool and so will hackers. The system can be used to attack a network as well as to test it. The package is probably not going to be used very often by network administrators for in-house testing because the task of penetration testing is very involved and not the kind of activity that an occasional user could master.
Pros:
- Completely free
- Allows users to manipulate packets for stress testing and other cybersecurity tests
- Available for Unix, Mac OS, and Linux
- Support packet creation, capture, and decoding
Cons:
- Has a steep learning curve than similar tools
- Doesn’t support GUI
- Not the best option for complex networks
5. Colasoft Packet Player
Colasoft Packet Player is a packet replayer. The tool doesn’t generate original packets but takes trace files from other packet sniffers as input. Packet files can come from Colasoft Capsa, Wireshark, Savvius Omnipeek, or etc.Except.
Key Features:
- Capture and replay packets
- Simulates random traffic patterns
- Import packets
Why do we recommend it?
Colasoft Packet Player is the classic traffic generator that has all of the features that a network manager will need to properly stress test a network. You just capture your regular network traffic for a while and then play it back over the network on top of your regular traffic to try to get to a point of failure and note your true capacity at every part of the network.
The Packet player has a number of transmission options, enabling packets from a file to be sent out in a loop, creating a longer traffic study from a short file. The user can specify a break between loops and it is also possible to vary the speed of packet transmission.
Colasoft Packet Player runs on Windows and it is available in both free and paid versions.
Who is it recommended for?
Colasoft has all of the generated traffic tweaking features that you need to be able to test different traffic patterns and volumes. So, this tool will appeal to all network managers, especially as it has a free version.
Pros:
- Supports packet files from WireShark, Savvius Omnipeek, and other platforms
- Packet replay, speed, and frequency are easily customizable
- Offers both free and paid versions of the software
Cons:
- Does not support original packet generation
- Only available for Windows
6. SolarWinds WAN Killer Traffic Generator with Engineer’s Toolset
The SolarWinds WAN Killer Traffic Generator forms part of a suite of more than 60 network management and monitoring tools, which is called the Engineer’s Toolset. The WAN Killer can be set to generate traffic packets pertaining to a specific protocol and to be sent to specific ports and endpoints. When the generated traffic is sent through the network, the network management can trace the paths that the network’s switches and routers use to send those packets to their intended destinations.
Key Features:
- Traffic per protocol
- Traffic for multiple destinations
- Emulate specific sources
- Packet length variations
- Irregular transmission rates
Why do we recommend it?
SolarWinds WAN Killer Traffic Generator is an easy-to-use tool that will let you generate traffic on your network for testing. One of the important features of this tool is that it is part of a large package of system administration tools, so you can test your network and watch the effects of the extra traffic by switching to the network monitor.
The traffic can target multiple destinations, emulating the typical traffic patterns of day-to-day activity on the network. Once the emulation of standard traffic has been achieved, the additional packets expected to be created by any new application on the network can be added to the flow. The tool is able to vary packet length and can send out packets at irregular intervals to correctly mimic the type of traffic that the network managers expect to start flowing over the network.
Using the WAN Killer in conjunction with other utilities in the Engineer’s Toolset creates a record of what will happen on the network in the future. This information will allow technicians to re-map the network topology, introduce path redundancy, add on load balancers, and expand capacity to ensure that the new load on the network can be properly absorbed. There is a 14-day free trial.
Who is it recommended for?
The Engineer’s Toolset that includes the WAN Killer system is a large package and it is probably a little too comprehensive for small businesses. This package is ideal for mid-sized businesses.
Pros:
- Automatically kills traffic based on rulesets without human intervention
- Is part of the Engineer’s Toolset – filled with useful network testing tools
- Can emulate realistic traffic patterns for capacity planning and stress tests
- Is easy to configure and setup quickly
Cons:
- Would like to see a longer trial period
[The Engineer’s Toolset is a large collection of utilities but you can get an even better deal if you buy that package as part of a bundle. The Small Business Network Management Bundle adds on three more systems to the Engineer’s Toolset pack. These are the Network Topology Mapper, Kiwi CatTools, which manages network device configuration backup, and the Kiwi Syslog Server, which can work with SNMP messages as well as Syslog.
Final notes and precautions
Although stress testing of networks can give useful feedback that can be used to improve their performances, there are a couple of precautions to consider beforehand:
- Always use an isolated network – when testing your network, make sure you create a dedicated test environment for load testing. At the very least, only take part of your network down for the testing if you can’t afford to have your entire network shut down for the duration of the test.
- Never try stress testing on a corporate network – this is especially true if you are not part of an IT team tasked with the job of caring for your network. You could get fired if you are caught illegally flooding your employer’s networks.
The whole purpose of network stress testing with a traffic generator is to see how well your network will hold up against any unforeseen surge of network traffic. It is therefore important that at least one person be knowledgeable about these tools and make use of them routinely – it will always be worth the effort.
Network Stress Testing FAQs
Can Wireshark generate traffic?
Wireshark captures packets traveling around a network. It doesn’t generate or transmit traffic.
How do I test network load?
The load on a network is its data throughput. The term “load” is usually specifically applied to load balancing. Load balancing is the practice of distributing traffic across alternative routes in a network or spreading traffic evenly between duplicate devices. When checking on the amount of traffic passing down a link, it is usual to speak of measuring throughput, load testing usually refers to the distribution of traffic in order to check on the efficiency of a load balancer. So, in order to test load, you need to test the throughput on all alternative routes that are managed by the same load balancer.
What time of the day should I run a network stress test?
Stress testing aims to push the network to its limits and find the point of failure. Therefore, anyone using the network for their job will have their work disrupted by the test. For this reason, it is better to run a stress test out of office hours. During regular business hours, network managers can examine network performance and capabilities through monitoring.