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

 

 

时间: 2024-09-20 20:49:21

Java获取本机MAC地址的相关文章

利用Java获取本机mac地址

public static void getAllMacAdress() { Enumeration<NetworkInterface> netInterfaces = null; try { // 获得所有网络接口 netInterfaces = NetworkInterface.getNetworkInterfaces(); while (netInterfaces.hasMoreElements()) { System.out .println("===============

python获取本机mac地址和ip地址的方法

  这篇文章主要介绍了python获取本机mac地址和ip地址的方法,涉及Python获取系统相关信息的技巧,需要的朋友可以参考下 本文实例讲述了python获取本机mac地址和ip地址的方法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 10 import sys, socket def getipaddrs(hostname): result = socket.getaddrinfo(hostname,None,0,socket.SOCK_STREAM) retu

javascript-js如何获取本机mac地址?求各位高手指点 最好是纯js的 求各位高手给出关键代码

问题描述 js如何获取本机mac地址?求各位高手指点 最好是纯js的 求各位高手给出关键代码 如何利用js获取本机mac地址 求各位高手能给出关键代码 最好是不需要用c直接纯js实现 解决方案 不知道你为什么要获得mac地址,http协议基于tcp/ip,你服务器得到mac也没用. 为了软件加密授权?客户端js获得mac,再提交服务器,这个又很容易伪造. 而且mac地址的获取在不同平台上又不同,不是web标准.你希望你的网站只能在pc+ie上运行?不支持所有别的浏览器?那你还要web做什么. 解

[急]用VB.NET 在win7系统下如何获取本机mac地址

问题描述 用VB.NET在win7系统下如何获取本机mac地址XP系统如下代码是OK的,在Win7系统中获取不了.DimWmiAsNewSystem.Management.ManagementObjectSearcher("SELECT*FROMWin32_NetworkAdapterConfiguration")ForEachWmiObjAsManagement.ManagementObjectInWmi.GetIfCBool(WmiObj("IPEnabled"

VC实现获取本机MAC地址的方法_C 语言

本文实例采用vc6.0运行环境,通过实例实现获得MAC地址的功能. 完整的实例代码如下: #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <httpext.h> #include <windef.h> #include <Nb30.h> int getMAC(char * mac) { NCB ncb; typedef struct _AS

win7系统如何获取本机MAC地址定义网络设备位置

  MAC地址又被称MAC位址.硬件位址,用来定义网络设备的位置,在网络上具有唯一性,MAC就如同我们的身份证一样,每个网络设备只有一个,防止在网络上出现重名.由于网络设置需要很多用户需要了解MAC地址,那么我们怎么知道我们win7系统中的MAC地址呢?其实只要简单的几个步骤就可以查看到MAC地址.   1.点击左下角"开始菜单",然后点击"运行",在运行框里输入"CMD"并回车; 2.在命令提示符窗口光标处输入输入命令"ipconfi

php获取本机mac地址三种方法

 代码如下 复制代码 class getmacaddr {         var $return_array = array(); // 返回带有mac地址的字串数组         var $mac_addr;                 function getmacaddr($os_type)         {                 switch ( strtolower($os_type) )                 {                     

VC++获取本机MAC地址

 代码如下 复制代码 bool GetMAC(LPTSTR lpszMAC) {  ASSERT(lpszMAC);  char mac[200]={0};  NCB ncb;  typedef struct _ASTAT_  {   ADAPTER_STATUS   adapt;   NAME_BUFFER   NameBuff   [30];  }ASTAT,*PASTAT;  ASTAT Adapter;  typedef struct _LANA_ENUM  {   UCHAR   le

java获取访问服务器的客户机MAC地址

问题描述 求java获取访问服务器的客户机MAC地址方法?有没有知道的,帮忙贴上来,谢谢! 解决方案 解决方案二:importjava.io.IOException;importjava.net.DatagramPacket;importjava.net.DatagramSocket;importjava.net.InetAddress;importorg.apache.commons.lang3.StringUtils;importorg.slf4j.Logger;publicclassUdp