#!/usr/bin/perl

use Packet::Sniff;
use Packet::Ethernet;
use Packet::IP;

my $eth = new Packet::Ethernet;
my $ip  = new Packet::IP;

my $s = Packet::Sniff->new(device => $ARGV[0] || die "usage: $0 <device>\n");

$s->open() || die $s->{errbuf};
$s->loop(0, \&cf, "test");

sub cf {
  my ($ud, $hdr, $pkt, $s) = @_;
  $eth->decode($pkt);

  if ($eth->type == 0x0800) { # IP
    $ip->decode($eth->data);
    print "$ip->{src_ip}\t-> $ip->{dest_ip}\n";
  }

}
