使用perl获取另一台主机的MAC地址

时间:2011-07-31 04:24:50

标签: perl arp

如果我的perl中只有IP地址,我正在尝试查找主机的MAC地址。我有以下代码,但它抛出错误。

#!/usr/bin/perl

use Net::ARP;

$mac = Net::ARP::arp_lookup('eth0','192.168.1.9');

print "$mac";

当我运行代码时,我收到以下错误,     “SIOCGARP:没有这样的设备或地址”。 我知道设备是我想要使用的正确设备,我知道IP地址已连接到网络并且有效。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我在谷歌上搜索SIOCGARP: No such device or address,我刚刚在这里发现了这个帖子。 顺便说一下,我通过使用:

ping目标来解决这个问题
use Net::Ping;
#my $target = "SOME TARGET";
my $p = Net::Ping::new->('icmp');
$p->ping($target, 1);
#...
#...
#...

希望这可以提供帮助。 V1R4N64R

答案 1 :(得分:-2)

嗨,如果你愿意,你可以使用这个linux命令。

arping

arpscan

nmap