在Groovy中获取Mac地址

时间:2013-02-21 03:19:18

标签: regex grails groovy mac-address

只想询问是否有办法将本地计算机的Mac地址作为字符串。 我需要将本地计算机的mac地址保存到域类中。我尝试使用此代码获取我的Mac地址:

String address = "ifconfig".execute().text()

但是这一行它还返回了很多关于我的ip地址的细节,我需要得到的是在子字符串“HWaddr”之后找到的Mac地址。我在想是否可以使用正则表达式提取这个子字符串,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:5)

您可以使用java.net.NetworkInterface获取接口的MAC地址。请注意,可以有多个硬件网络接口,因此可以有多个MAC地址。此外,大多数机器至少有一个没有硬件地址的接口:环回接口。

这将获得所有MAC地址列表作为字符串,包括没有MAC地址的接口的空值:

import java.net.NetworkInterface 
def macs = NetworkInterface.networkInterfaces.collect { iface -> 
    iface.hardwareAddress?.encodeHex().toString()
}

答案 1 :(得分:0)

您可以使用NetworkInterface来获取此信息,尤其是返回字节数组的getHardwareAddress()方法