################################################################################
sub
get_mac {
my
(
$ip
) =
@_
;
$ip
||=
$ENV
{REMOTE_ADDR};
my
$cmd
= $^O eq
'MSWin32'
?
'arp -a'
:
'arp -an'
;
my
$arp
=
''
;
eval
{
$arp
=
lc
`
$cmd
`};
$arp
or
return
''
;
foreach
my
$line
(
split
/\n/,
$arp
) {
$line
=~ /\(
$ip
\)/ or
next
;
if
(
$line
=~ /[0-9a-f]{2}\:[0-9a-f]{2}\:[0-9a-f]{2}\:[0-9a-f]{2}\:[0-9a-f]{2}\:[0-9a-f]{2}/) {
return
$&;
}
}
return
''
;
}
1;