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()返回此接口是否是虚拟接口
  • 相关阅读:
    Python for Infomatics 第14章 数据库和SQL应用四(译)
    展望2017
    bing的简单英文字典工具
    自我安慰
    Python for Infomatics 第14章 数据库和SQL应用三(译)
    Python for Infomatics 第14章 数据库和SQL应用二(译)
    Python for Infomatics 第14章 数据库和SQL应用一(译)
    希望父亲早日恢复
    Python for Infomatics 第13章 网页服务四(译)
    Python for Infomatics 第13章 网页服务三(译)
  • 原文地址:https://www.cnblogs.com/hehe520/p/6330195.html
Copyright © 2011-2022 走看看