Java获取本机MAC地址

简介: 为什么写这个呢?因为前几天看见网上有采用windows命令获取局域网和广域网MAC,查了查可以直接用JDK的方法。          MAC可用于局域网验证,提高安全性。 import java.

         为什么写这个呢?因为前几天看见网上有采用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<mac.length; 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

 

 

目录
相关文章
|
2月前
|
Java Maven
java修改当前项目的maven仓库地址为国内
修改当前项目的maven仓库地址为国内
|
16天前
|
Python Linux iOS开发
使用 Python 打印本机 Mac 地址
使用 Python 打印本机 Mac 地址
8 0
|
5月前
|
Java
java代码实现使用网络地址下载文件
java代码实现使用网络地址下载文件
|
2月前
|
Java iOS开发 MacOS
macos查看本机所有java路径
macos查看本机所有java路径
27 0
|
4月前
|
Java Python
Java【代码分享 01】Java版本的NGender根据中文姓名猜测其性别及男性化/女性化程度(Python版本地址+Java版本源码+基础数据)
Java【代码分享 01】Java版本的NGender根据中文姓名猜测其性别及男性化/女性化程度(Python版本地址+Java版本源码+基础数据)
39 0
|
4月前
|
Java API Maven
Java获取当前项目下的文件或目录物理地址System.getProperty(“user.dir“)
Java获取当前项目下的文件或目录物理地址System.getProperty(“user.dir“)
|
8月前
|
网络协议
Qt获取本机IP、MAC、IPV6子网掩码等网络信息
Qt获取本机IP、MAC、IPV6子网掩码等网络信息
119 0
|
9月前
|
Java
java 遍历打印ip 0.0.0.0 -255.255.255.255,不包含保留地址
java 遍历打印ip 0.0.0.0 -255.255.255.255,不包含保留地址
|
10月前
|
算法 Java
java 版DES和MAC算法
java 版DES和MAC算法
|
10月前
|
Java
Java获取本机IP
Java获取本机IP
101 1