#!/usr/bin/perl

use strict;
use Packet::Inject;
use Packet::Ethernet;
use Packet::ARP;

die "usage: $0 <device (eth0 or whatever)>\n" unless my $dev = shift;

my $raw = new Packet::Inject(device => $dev);
my $eth = new Packet::Ethernet()->encode();
my $arp = new Packet::ARP(
 sender_eth => "a:b:c:d:e:f",
 target_eth => "1:2:3:4:5:6",
 sender_ip  => "127.0.0.1",
 target_ip  => "13.37.13.37"
)->encode();

$raw->open() || die "Can't open/init bpf device: $raw->{errbuf}\n";
$raw->write(packet => $eth . $arp);
$raw->close();
