#!/usr/bin/perl
$pid=fork();
if($pid>0){die "Forked";}
else
{

while (1)
{
	open(FileHND,"/proc/net/arp");
	open(LogHND,">>$ARGV[0]") if $ARGV[0];
	open(LogHND,">>&STDOUT") if !$ARGV[0];
	
while(<FileHND>)
{
	@array = split(/\s+/);
	if($array[0] =~ /^\d/){
	
	if($list{$array[0]} && ($list{$array[0]} ne $array[3]))
	{
		print LogHND ("ARP Address $array[0] changed from $list{$array[0]} to $array[3]\n") ;
	}
	elsif($list{$array[0]} ne $array[3])
	{
	print LogHND "Adding $array[0]\n" if $ARGV[1] ne silent;
	$list{$array[0]} = $array[3];
	}}

}
close(FileHND);
sleep 3;
}
}
