Y19920229
Y19920229
采纳率22.2%
2017-03-22 01:50 阅读 1.9k

如何通过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);
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • LZW190 2020回归技术 2017-03-22 02:25

    getRemoteAddr,应该使用这个方法

    点赞 评论 复制链接分享
  • k1280000 咕泡学院-James老师 2017-03-22 02:48

    客户端的mac地址,服务器是拿不到的。只能通过客户端拿到以后传给你。

    点赞 评论 复制链接分享
  • shen_wei shen_wei 2017-03-22 04:09

相关推荐