我需要找到访问我网站的客户端MAC地址。我试过java代码。
try {
Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
while(networkInterfaces.hasMoreElements())
{
NetworkInterface network = networkInterfaces.nextElement();
System.out.println("network : " + network);
byte[] mac = network.getHardwareAddress();
if(mac == null)
{
System.out.println("null mac");
}
else
{
System.out.print("MAC address : ");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < mac.length; i++)
{
sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
}
val = sb.toString();
System.out.println(sb.toString());
break;
}
}
} catch (SocketException e){
e.printStackTrace();
}
但它显示为“network:name:eth0(eth0) 所有客户端系统的MAC地址:EC-A8-6B-77-A9-AD“。
我该怎么做?
答案 0 :(得分:2)
服务器端Java代码永远不会返回客户端的MAC地址。
为此,您需要在客户端运行代码。例如,在IE中你可以使用Javascript + ActiveX获得它。在其他浏览器(包括IE)中,您可以使用Java Applet执行此操作,但安全限制可能会阻止applet访问包括MAC地址在内的系统信息。