`

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 获取本机的(所有)MAC地址

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

    智能识别收货地址Java.pdf

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

    Java JDK11_for_Mac

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

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

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

    Java 獲得Mac地址

    java中沒有直接得到mac地址的類 此類為自己編寫 調用時返回String類型的mac地址

    使用JAVA获取客户端MAC地址.doc

    //Java获得CPU序列号和网卡Mac地址 /* 利用Runtime call操作系统的命令,具体的命令取决于不同的操作系统,注意不要调用Runtime.getRuntime().exec(String)接口,要用Runtime.getRuntime().exec(String[])这个接口,...

    asp.net获得用户IP和MAC地址的方法

    ### ASP.NET 获取用户IP与MAC地址的技术解析 #### 背景介绍 在网络应用开发过程中,经常需要收集访问者的相关信息来实现特定的功能需求,比如防止重复注册或恶意投票等行为。其中,获取客户端的IP地址和MAC地址是两...

Global site tag (gtag.js) - Google Analytics