zoukankan      html  css  js  c++  java
  • 利用NetworkInterface获取服务器MAC地址

    利用NetworkInterface获取服务器MAC地址
       在很多时候,我们需要获得服务器硬件信息(比如MAC地址),常用的有几种的方式:
    •  使用命令行程序获得硬盘信息,然后通过Runtime.getRuntime().exec获得输出流,然后通过字符串分析获得MAC地址
    • 编译本地程序,然后通过JNI调用
       以上两种方式都需要区分不同的操作系统平台,分别编码,比较麻烦,比如
    •  windows平台需要使用iptables /all命令
    • linux平台需要使用ifconfig命令
          今天介绍一种通用的跨平台的操作方式,那就是JDK自带的NetworkInterface接口,该接口在JDK1.4已经出现,但是功能比较少,JDK1.6之后新增了不少新功能,比较不错。
          具体功能大家可以参考API文档,这里主要介绍一下如何获得服务器MAC地址,代码如下,有注释,不多讲。
     
    然后,我们用如下测试代码,看一下测试结果
     
    输出结果如下:
     
    大家发现,"0:18:8b:cc:xx:e3",只有一个0,看起来很是别扭啊,我们不妨修订一下parseByte方法,如下:
     
    输出结果就变了:
     
    这样就看起来舒服多了嘛,是吧?
    另外,NetworkInterface接口还提供了如下方法,大家可以参考一下。
    • String displayName() 获取网络接口的显示名称
    • int getMTU()返回此接口的最大传输单元(Maximum Transmission Unit,MTU)
    • String getName()获取此网络接口的名称
    • boolean isLoopback()返回此网络接口是否是回送接口
    • boolean isPointToPoint()返回此网络接口是否是点对点接口
    • boolean isUp()返回此网络接口是否已经开启并运行
    • boolean isVirtual()返回此接口是否是虚拟接口
  • 相关阅读:
    锋利的Jquery 读书有感(三)
    锋利的Jquery 读书有感(二)
    锋利的Jquery 读书有感
    读head first servlet and jsp有感(3)(转)
    读head first servlet and jsp有感(2)(转)
    读head first servlet and jsp有感(1)(转)
    JSTL标签与EL表达式之间的微妙关系
    JDBC学习
    Mysql学习(二)
    JAVA相关问题整理(四)
  • 原文地址:https://www.cnblogs.com/hehe520/p/6330195.html
Copyright © 2011-2022 走看看