An ICMP flood, also known as a ping flood, is a denial-of-service attack that overwhelms a target device by sending a massive volume of ICMP echo requests, consuming its resources until it becomes unreachable. Understanding how this attack works—and how to execute it in a controlled environment—is foundational knowledge for anyone pursuing ethical hacking or network defense.
ICMP Flood / Ping Flood
We're going to take a look at an ICMP flood, or a ping flood. ICMP flood and ping flood are really essentially the same thing. ICMP is the protocol that we're using when we do a ping flood. The Internet Control Message Protocol was really designed for some messaging between devices, so that way they could flag things like, hey, there's a little bit of congestion, or something's going on, or there's some control with this, the ICMP protocol. But we also know it as ping, because we can actually use ICMP to test out links and to see if different pieces of equipment are up. So we can do an ICMP packet, and we would send an ICMP request, and then this machine would reply back and say, yeah, I'm up and running. Or we know it by the command that we use, which is ping. Ping is the program where we say, hey, are you up and running, and it says yeah, I'm up and running. So ICMP flood, or ping flood, is just sending a ton of those, enough to overwhelm the resources of a machine.
Now, typically when we do a ping, it will send out a ping and then there'll be a reply back, and then there'll be a delay until it sends the next one and says, are you still up? And then there'll be a reply back, and then another delay. In order to get rid of this delay, we have to turn the flood option on. The flood option is the thing that will send a ton of requests out to the machine, and so then it will overwhelm that machine.
Now, there are some bandwidth considerations and requirements. That is, let's say we're on dialup and the fastest we can have is a 56k modem. Well, our connection to the internet is so slow, we wouldn't be able to saturate any of the links that we're targeting if that was the case. So our bandwidth leading up to the server, or the link that we're trying to overwhelm, what we need to have is more capabilities than whatever those links are that we're trying to overwhelm, or, once again, the resource that we're trying to overwhelm.
This is a very easy attack to carry out, and I'm going to show you how right now. However, just a reminder, this is for ethical hacking purposes only. Make sure you only do this on your own equipment, on your own network, or on a network that you have permission to carry out these type of attacks. Otherwise, it's considered cyber crime and unethical.
I'm on my demo laptop right here, and I'm connected to 10.1.30.23. This is a web server that I'm connected to, and I can just hit refresh to show you that it is connected to it. And then I also have this command window. So what we're going to do is we're going to actually ping this, 10.1.30.23, and we're just going to do a continuous ping. That way we can see what happens when we carry out this attack.
I brought up our Kali box here. So what we're going to do is sudo hping3, and where we're trying to hit, which is 10.1.30.23. We're going to do this flood flag, and so that's the flood of where it's going to send more than one ICMP packet, as much as it can. And then we're going to do this random source flag. What that is doing is it's creating random sources for the source address. It's creating a bunch of different ones, so the reply is not going to come back to this machine. It's going to go to other fictitious machines that it's making up here. So then we're going to do ICMP, so that's the type of attack we're going to launch.
So I'm going to hit enter on this. It's starting that flood mode. As we can see, it's no longer connecting here, so we're no longer able to ping it on our demo laptop. I'm going to hit refresh on the web page, and you can see it's spinning, so it's no longer connecting to the web browser on this. So now we no longer have connectivity.
What I'm going to do is bring up that Kali box again. We're going to hit Ctrl+C and watch the spin that's happening over here. As soon as I hit Ctrl+C, now it's gone away. So the website now is being accessible again, and we're getting our pings back through again. So there it is. A simple command, and we've brought this web server down.
A little more about that random source, that's coming from random source addresses. Even though it's all coming from this machine right here, we're sending it out with machines from other parts of the network. The reason why this is important is because if we were to send all of it from the machine address, all of the replies would come back directly to this machine. Well, now that this machine is both sending and receiving all of these ICMP packets, it could overwhelm the resources of this machine. So by randomizing the source address, it's coming from all these fictitious machines all around the network, and so therefore this is where the machine is going to reply back to. So therefore then it's not going to overwhelm our attacking machine.
So here's that attack on an ICMP flood, also known as a ping flood. We're just overwhelming a device's resources with ICMP requests.
TechKnowSurge builds IT and cybersecurity professionals through hands-on, concept-first training built around real understanding — not memorization. Free interactive tools, structured programs, and 25+ years of real-world experience, all in one place.
Explore free tools and programs →