这是我写的函数,只用于linux下
<?PHP
function getmac($ip){
$str=exec("grep '$ip' /proc/net/arp");
ereg("(..:..:..:..:..:..)",$str,$regs);
return $regs[1];
}
echo getmac($REMOTE_ADDR);
?>
<?PHP
function getmac($ip){
$str=exec("grep '$ip' /proc/net/arp");
ereg("(..:..:..:..:..:..)",$str,$regs);
return $regs[1];
}
echo getmac($REMOTE_ADDR);
?>
ipconfig -all
命令或者别的什么得到输出后,用正则表达式提取
你应该去黑客论坛问这种问题
IP地址可以冒充啊!
不过如果客户通过代理访问,应该得到的是代理机的MAC
Internet 的基础是 TCP/IP 协议,而以太网属于数据链路层,怎么获得?
网卡地址属于客户端的“隐私”,网站有权不经许可就获得吗?
但是我现在就有这种需求。我想做一个内部开发室的网上签到系统。我需要取得网卡的mac地址。这样我才能防止IP伪装。因为对于内部机器是同一网段,我要做一个IP伪装是太容易了。我不知楼主是不是也是和我这样的用途。
我现在倒是试着用C语言来做这个工作。呵呵。不知道能不能完成。我用了binscut的方法,不过不能有时间就不能取。也就是说只能取一部分客户机的MAC,不知是不是还要做些什么样的设置。我倒是比楼主还积极,真不好意思。呵呵
这个方法其实就是读arp记录,而这个记录需要客户端访问时才能存在,过一段时间就会消失,所以在客户端访问你的PHP页面时可以通过这个办法获得来访的IP和MAC,如果你想主动的去探测一个IP的MAC,就可能会失败。