#!/usr/bin/perl

use strict;
use Packet::Inject;
use Packet::Ethernet;
use Packet::IP;
use Packet::ICMP;

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

my $raw = new Packet::Inject(device => $dev);
#dest_mac=>'00:50:54:ff:26:8e',
#src_mac=>'00:b0:d0:5a:34:a7',
my $eth = new Packet::Ethernet(
type     => 0x0800,
)->encode();
my $ip = new Packet::IP(
	src_ip => $ARGV[1],
	dest_ip => $ARGV[2],
	proto => 1,	
)->encode();

my  $icmp = Packet::ICMP->new(
    type     => 11,
    code     => 0,
    data     => join('', 'A' .. 'Z')
  );
  $icmp= $icmp->encode();


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