Hi,
The best way is to look into router arp table. Try using the script below. Needs to install SNMP_util, and you need to put the routers you have in your network, and their community.
Save to iptomac.pl, and use ./iptomac.pl 10.10.10.80
It will search all routers arp tables, and tell the mac of the station, and the equipment it is routed by.
It works here!
#! /usr/bin/perl -w
use strict;
use SNMP_util;
my @devices = ("10.10.10.10","10.10.10.1","10.10.10.20", "10.10.10.23"

;
my @comu = ("public" ,"public" ,"public" , "public"

;
my @type = ("router" ,"router" ,"router" , "router"

;
my $port="161";
my $timeout="100";
my $retries="2";
my $search = $ARGV[0];
for (my $count=0 ; $count <= int(@devices)-1 ; $count++ )
{
#search routers arp table for given address
if($type[$count] eq "router"

{
my $community = $comu[$count];
if(&isinrouter($devices[$count], $comu[$count], $search ) eq "1"

{
my $mac=&findmac($devices[$count], $comu[$count], $search);
print "MAC is $mac \n";
}
}
}
sub isinrouter
{
#(router, community, search) returns 1 if found
(my $router, my $community, my $search) = @_;
print "Searching $router\n";
my @rede=&snmpwalk("$community\@$router:$port:$timeout:$retries","1.3.6.1.2.1.4.22.1.3"

;
foreach my $ip (@rede)
{
(my $oid, my $ip) = split(/\:/, $ip);
if ($ip eq $search)
{
print "Is in $router\n";
return 1;
}
}
}
sub findmac
{
#(router, community, search) returns MAC
(my $router, my $community, my $search) = @_;
my @fisico=&snmpwalk("$community\@$router:$port:$timeout:$retries","1.3.6.1.2.1.4.22.1.2"

;
my @rede=&snmpwalk("$community\@$router:$port:$timeout:$retries","1.3.6.1.2.1.4.22.1.3"

;
for (my $count=0 ; $count <= int(@fisico)-1 ; $count++ )
{
(my $oid, $rede[$count]) = split(/\:/, $rede[$count]);
if ($rede[$count] eq $search)
{
($oid, my $mac) = split(/\:/, $fisico[$count]);
$mac = unpack 'H*', $mac;
return $mac;
}
}
}