0

ローカルマシンのMacアドレスを文字列として取得する方法があるかどうかを尋ねたいだけです。ローカルマシンのMACアドレスをドメインクラスに保存する必要があります。このコードを使用してMacアドレスを取得してみました。

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

しかし、この行は私のIPアドレスに関する多くの詳細も返します。取得する必要があるのは、サブストリング「HWaddr」の後にあるMacアドレスだけです。正規表現を使用してこの部分文字列を抽出できるかどうかを考えていますが、その方法がわかりません。

4

2 に答える 2

5

を使用して、インターフェイスのMACアドレスを取得できますjava.net.NetworkInterface。複数のハードウェアネットワークインターフェイスを持つことができるため、複数のMACアドレスを持つことができることに注意してください。さらに、ほとんどのマシンには、ハードウェアアドレスのない少なくとも1つのインターフェイス(ループバックインターフェイス)があります。

これにより、MACアドレスのないインターフェイスのnullを含む、すべてのMACアドレスのリストが文字列として取得されます。

import java.net.NetworkInterface 
def macs = NetworkInterface.networkInterfaces.collect { iface -> 
    iface.hardwareAddress?.encodeHex().toString()
}
于 2013-02-21T04:54:25.783 に答える
0

NetworkInterfaceを使用して、この情報、特にgetHardwareAddress()バイト配列を返すメソッドを取得できます。

于 2013-02-21T04:30:34.290 に答える