Net::ARP can be used to create and send ARP packets and to get the mac address of an ethernet interface or IP address.