Y19920229 2017-03-22 01:50 采纳率: 0%
浏览 1951

如何通过java获取Mac地址

做项目时遇到一个需求,需要获取客户端mac地址,我通过下面的java代码获取,但是得到的却是获取服务器本机的mac,地址,请问我该怎样获取到客户端mac地址?

InetAddress ia = InetAddress.getLocalHost();
//获得网络接口对象(即网卡),并得到mac地址,mac地址存在于一个byte数组中。

byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();

        //下面代码是把mac地址拼装成String  
        StringBuffer sb = new StringBuffer();  

        for(int i=0;i<mac.length;i++){  
            if(i!=0){  
                sb.append("-");  
            }  
            //mac[i] & 0xFF 是为了把byte转化为正整数  
            String s = Integer.toHexString(mac[i] & 0xFF);  
            sb.append(s.length()==1?0+s:s);  
        }  

        String MacAddress = sb.toString().toUpperCase(); 
        log.error("mac地址"+MacAddress);
        entity.setClientMac(MacAddress);
  • 写回答

4条回答 默认 最新

  • 雕虫大计 2017-03-22 02:25
    关注

    getRemoteAddr,应该使用这个方法

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?