博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java获取本机MAC地址
阅读量:6221 次
发布时间:2019-06-21

本文共 1263 字,大约阅读时间需要 4 分钟。

         为什么写这个呢?因为前几天看见网上有采用windows命令获取局域网和广域网MAC,查了查可以直接用JDK的方法。

         MAC可用于局域网验证,提高安全性。

import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
 
/*
* 物理地址是48位,别和ipv6搞错了
*/
public class LOCALMAC {
 
/**
* @param args
* @throws UnknownHostException
* @throws SocketException
*/
public static void main(String[] args) throws UnknownHostException, SocketException {
// TODO Auto-generated method stub
 
//得到IP,输出PC-201309011313/122.206.73.83
InetAddress ia = InetAddress.getLocalHost();
System.out.println(ia);
getLocalMac(ia);
}
 
private static void getLocalMac(InetAddress ia) throws SocketException {
// TODO Auto-generated method stub
//获取网卡,获取地址
byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();
System.out.println("mac数组长度:"+mac.length);
StringBuffer sb = new StringBuffer("");
for(int i=0; i
if(i!=0) {
sb.append("-");
}
//字节转换为整数
int temp = mac[i]&0xff;
String str = Integer.toHexString(temp);
System.out.println("每8位:"+str);
if(str.length()==1) {
sb.append("0"+str);
}else {
sb.append(str);
}
}
System.out.println("本机MAC地址:"+sb.toString().toUpperCase());
}
}

        运行结果如下:

PC-201309011313/122.206.73.83
mac数组长度:6
每8位:d0
每8位:27
每8位:88
每8位:1f
每8位:89
每8位:51
本机MAC地址:D0-27-88-1F-89-51

 

 

转载地址:http://vheja.baihongyu.com/

你可能感兴趣的文章
.Net转Java自学之路—Mybatis框架篇二(SqlSession、原始开发、代理开发)
查看>>
JavaScript——slice和splice的区别
查看>>
url查重--bloom过滤器
查看>>
django
查看>>
vs plug
查看>>
Jquery的冒泡事件的阻止与允许
查看>>
实践是检验真理的唯一标准 - 脱壳篇02
查看>>
8.JSP与JavaBean
查看>>
strace命令详解
查看>>
javaweb 路径问题
查看>>
xgboost算法教程(两种使用方法)
查看>>
在Android Studio上测试运行,Unity发布成Android包过程中所遇到的问题及解决方案...
查看>>
设置UIImage的渲染模式:UIImage.renderingMode
查看>>
ajax最常见的几种面试题
查看>>
横向文本框 index获取索引 和 eq 实现
查看>>
学习 WINDOWS8 的开发 Windows Metro Style Apps !
查看>>
linux中添加环境变量(python为例)
查看>>
会话断开数据保存情况
查看>>
Linux-JDK+Tomcat的安装笔记
查看>>
吴忠军百度百科
查看>>