利用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()返回此接口是否是虚拟接口
分享到:
相关推荐
今天介绍一种通用的跨平台的操作方式,那就是JDK自带的NetworkInterface接口,该接口在JDK1.4已经出现,但是功能比较少,JDK1.6之后新增了不少新功能,比较不错
Java中通过NetworkInterface获取主机地址和物理地址等;Java中通过NetworkInterface获取主机地址和物理地址等;Java中通过NetworkInterface获取主机地址和物理地址等
本demo是通过NetworkInterface和SharpPcap里面的MAC地址来匹配的,即同一个网口的MAC地址在NetworkInterface和SharpPcap里面都是相同的,通过MAC地址就可以找到SharpPcap里面的对应网口,从而去使用SharpPcap接口来...
java获取Centos7服务器网卡ip 子网掩码 默认网关 DNS 同时设置网卡 及 重启网卡参考
Telemecanique Interbus Network Interface Applications Guidepdf,Telemecanique Interbus Network Interface Applications Guide
java NetworkInterface类获取MAC地址。
QT下获取网关地址(验证可用)QT下获取网关地址(验证可用)QT下获取网关地址(验证可用)
Telemecanique Fipio Network Interface Applications Guidepdf,Telemecanique Fipio Network Interface Applications Guide
Telemecanique Modbus Plus Network Interface Applications Guidepdf,Telemecanique Modbus Plus Network Interface Applications Guide
Design of Embedded Network Interface Controller 供参考翻译
Telemecanique DeviceNet Network Interface Applications Guidepdf,Telemecanique DeviceNet Network Interface Applications Guide
Hamachi Network Interface虚拟网卡驱动程序,安装时请自选驱动,指定该文件即可,可以安装多块虚拟网卡,在用虚拟机和dynamips时特别有用
Oracle Solaris 8 Network Interface Guide-144
本文告诉大家如何在 dotnet core 获取 Mac 地址 因为在 dotnetcore 是没有直接和硬件相关的,所以无法通过 WMI 的方法获取当前设备的 Mac 地址 但是在 dotnet core 可以使用下面的代码拿到本机所有的网卡地址,包括...
本文实例讲述了C#实现获取.../// 根据网卡类型来获取mac地址 /// /// <param name=networkType>网卡类型 /// 格式化获取到的mac地址 /// 获取到的mac地址 public static string GetMacAddress(NetworkInterfaceType n
Telemecanique Advantys STB Basic CANopen Network Interface Module Applications Guidepdf,Telemecanique Advantys STB Basic CANopen Network Interface Module Applications Guide
Telemecanique Advantys STB Standard Modbus Plus Network Interface Module Applications Guidepdf,Telemecanique Advantys STB Standard Modbus Plus Network Interface Module Applications Guide
aix5.3 Switch Network Interface for eServer™ pSeries® High Performance Switch Guide
VS2010小例子获取计算机名和IP/MAC地址方法,供初学者参考学习,使用的是System.Net.NetworkInformation和System.Management,举一反三,获取电脑其他硬件信息