`

java mac 地址获得

 
阅读更多

 /**
     * 获取unix网卡的mac地址.
     * 非windows的系统默认调用本方法获取.如果有特殊系统请继续扩充新的取mac地址方法.
     * @return mac地址
     */ 
    public static String getUnixMACAddress() {  
        String mac = null;  
        BufferedReader bufferedReader = null;  
        Process process = null;  
        try {  
            process = Runtime.getRuntime().exec("ifconfig eth0");// linux下的命令,一般取eth0作为本地主网卡 显示信息中包含有mac地址信息 
            bufferedReader = new BufferedReader(new InputStreamReader(process  
                    .getInputStream()));  
            String line = null;  
            int index = -1;  
            while ((line = bufferedReader.readLine()) != null) {  
                index = line.toLowerCase().indexOf("hwaddr");// 寻找标示字符串[hwaddr] 
                if (index >= 0) {// 找到了 
                    mac = line.substring(index +"hwaddr".length()+ 1).trim();//  取出mac地址并去除2边空格 
                    break;  
                }  
            }  
        } catch (IOException e) {  
            e.printStackTrace();  
        } finally {  
            try {  
                if (bufferedReader != null) {  
                    bufferedReader.close();  
                }  
            } catch (IOException e1) {  
                e1.printStackTrace();  
            }  
            bufferedReader = null;  
            process = null;  
        }  
 
        return mac;  
    }  
 
    /**
     * 获取widnows网卡的mac地址.
     * @return mac地址
     */ 
    public static String getWindowsMACAddress() {  
        String mac = null;  
        BufferedReader bufferedReader = null;  
        Process process = null;  
        try {  
            process = Runtime.getRuntime().exec("ipconfig /all");// windows下的命令,显示信息中包含有mac地址信息 
            bufferedReader = new BufferedReader(new InputStreamReader(process  
                    .getInputStream()));  
            String line = null;  
            int index = -1;  
            while ((line = bufferedReader.readLine()) != null) {  
                index = line.toLowerCase().indexOf("physical address");// 寻找标示字符串[physical address] 
                if (index >= 0) {// 找到了 
                    index = line.indexOf(":");// 寻找":"的位置 
                    if (index>=0) {  
                        mac = line.substring(index + 1).trim();//  取出mac地址并去除2边空格 
                    }  
                    break;  
                }  
            }  
        } catch (IOException e) {  
            e.printStackTrace();  
        } finally {  
            try {  
                if (bufferedReader != null) {  
                    bufferedReader.close();  
                }  
            } catch (IOException e1) {  
                e1.printStackTrace();  
            }  
            bufferedReader = null;  
            process = null;  
        }  
 
        return mac;  
    }

分享到:
评论
1 楼 xp9802 2011-11-21  
偶然机会看到这篇文章,呵呵,获取的原理很简单,呵,受教了

相关推荐

    java 获取客户端ip mac地址

    ### Java 获取客户端 IP 和 MAC 地址 在Java Web开发中,有时我们需要获取客户端的IP地址甚至是MAC地址,以便进行安全验证、用户行为追踪等操作。本文将详细介绍如何通过Java来实现这一功能。 #### 一、获取客户端...

    java中通过request获取IP以及MAC地址.java

    获取用户请求IP地址 根据IP地址获取mac地址

    Java/JSP获得客户端网卡MAC地址的三种方法解析

    本文将深入解析在Java/JSP环境中获取客户端网卡MAC地址的三种常见方法,旨在为开发者提供全面而深入的理解。 ### 方法一:通过Java NIO(非阻塞I/O)库 Java NIO库提供了访问底层网络接口的能力,从而可以获取包括...

    java获取mac地址

    java获取mac,通过命令获取裁剪后得到想要的内容

    php与java获得电脑mac地址

    Java提供了更直接的方式来获取MAC地址,主要通过`java.net.NetworkInterface`类。以下是一个简单的Java示例,展示了如何在Windows和Linux上获取MAC地址: ```java import java.net.NetworkInterface; import java...

    ARP协议(ip地址求MAC地址)java代码

    import java.net.Inet4Address; import java.net.InetAddress; import java.util.Arrays; import jpcap.*; import jpcap.packet.*; public class ARP { public static byte[] arp(InetAddress ip) throws java.io....

    java 读取本机MAC地址

    可以利用系统命令ipconfig/all,读取mac地址,然后通过解析行得到mac地址。

    MAC地址转十进制

    1. 分割MAC地址:首先,我们需要将MAC地址的12位十六进制数按照冒号或破折号进行分割,得到六个独立的两个字符的十六进制数字。 2. 十六进制转十进制:然后,对每一个十六进制数进行转换。十六进制数有16个符号,即...

    java得到机器的MAC,硬盘序列序列号和IP地址

    得到机器的MAC,硬盘序列序列号和IP地址 public static void main(String[] args) ...{ String osName = System.getProperty("os.name"); StringBuffer systemPathBuff = new StringBuffer(""); if (osName.index...

    MAC--java环境安装包

    JDK 11是Java的一个长期支持(LTS)版本,这意味着它将得到更长时间的官方更新和支持。安装这个版本,开发者可以在MAC系统上编写、测试和运行Java 11及以下版本的代码。 安装JDK的步骤通常包括下载.dmg镜像文件,...

    获得网卡MAC地址java类

    在Java编程语言中,获取计算机硬件的物理地址,即网卡MAC地址,是常见的系统信息获取需求。MAC地址是一个用于标识网络设备的唯一物理地址,通常由六组两字符的十六进制数字组成,例如“00:14:22:01:23:45”。本篇...

    java实现获取用户的MAC地址

    如果是回环地址,通过`InetAddress.getLocalHost()`获取本地主机信息,然后使用`NetworkInterface.getByInetAddress()`获取对应的网络接口,进一步得到硬件地址(MAC地址)。如果IP不是回环地址,需要执行命令行操作...

    JAVA得到网卡物理地址(windows和Linux)

    网卡物理地址,也称为 MAC 地址,是一个唯一的识别码,用来标识网络设备。今天,我们将讨论如何使用 Java 获取网卡物理地址在 Windows 和 Linux 两个操作系统中。 在 Windows 操作系统中,获取网卡物理地址可以使用...

    智能识别收货地址Java.pdf

    - 初始化`Mac`实例并用它对`signStr`进行哈希运算,得到`hash`。 - 使用`BASE64Encoder`将哈希结果编码为Base64字符串,形成签名`sig`。 - 最后,组合所有信息形成完整的授权认证字符串`auth`,按照指定格式返回...

    JAVA 获取本机的(所有)MAC地址

    java 程序, 亲测。 获取计算机的网卡IP地址。 runttime 的调用。

    Java JDK11_for_Mac

    Java JDK11 for Mac 是Java开发工具包的一个版本,专为苹果Mac操作系统设计。JDK,全称为Java Development Kit,是开发和运行Java应用程序必不可少的软件包。它包含了Java编译器、Java运行环境(JRE)、调试器、文档...

    mac版本java反编译JD-GUI

    JD-GUI是一款流行的Java反编译工具,尤其适用于Mac用户。在本文中,我们将深入探讨JD-GUI在Mac平台上的使用,以及它如何帮助开发者处理Java字节码。 JD-GUI是一款图形用户界面工具,它允许开发者直接查看和分析单个...

    pb获取ip地址/mac地址

    标题中的"pb获取ip地址/mac地址"指的是在PowerBuilder(简称pb)环境下获取计算机的IP地址和MAC地址。PowerBuilder是一种流行的.NET和Java应用程序开发工具,尤其适合于创建数据库驱动的应用程序。在这个场景中,...

    JAVA获取计算机硬盘序列号、分区卷标号、MAC地址、IP地址、计算机名称

    该jar工具包是通过DiskID.dll获取计算机硬盘序列号、分区卷标号、MAC地址、IP地址、计算机名称等的信息,获取内容如下: 计算机名称:201709071714 硬盘序列号:183534442995 C分区卷标号:29F513CB MAC地址:F0-A9-59-...

    根据mac地址获取设备厂商

    这些数据库通常由IEEE维护,包含了全球所有获得授权分配MAC地址的制造商信息。 3. **查询机制**:在编程或开发过程中,可以使用OUI数据库来解析MAC地址并找出对应的制造商。这可以通过SQL查询(如`dic_mac_company....

Global site tag (gtag.js) - Google Analytics