zoukankan      html  css  js  c++  java
  • Java获取本机MAC地址

             为什么写这个呢?因为前几天看见网上有采用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
  • 相关阅读:
    PHP post接口返回数据
    wamp 安装多版本php
    关于WAMP的apache 人多了就访问非常卡的问题解决方法(转)
    在生产环境上重装wamp
    wamp不记录访问日志的办法
    oracle数据库锁表解决办法
    wampserver 中127.0.0.1可以访问,但localhost无法访问
    PLSQL中查询数据的时候查询结果显示中文乱码(转)
    Could not read from remote repository
    17-案例
  • 原文地址:https://www.cnblogs.com/hxsyl/p/3422191.html
Copyright © 2011-2022 走看看