2

NetworkInterfaceクラスを使用してMACアドレスを取得していますが、コードでnullを取得していますNetworkInterface ni = NetworkInterface.getByInetAddress(inetAddr); .niオブジェクトでnullを取得しています。LAN上のデバイスのMACアドレスを取得する方法を教えてください。

前もって感謝します。

4

2 に答える 2

3

このコードを試してください、

import java.io.*;
import java.net.*;
import java.util.*;
import java.util.regex.*;

public class GetMac
{
public static void main(String[] args)
throws IOException
{
String address = new GetMac().getMacAddress();
System.out.println(address);
}

public String getMacAddress() throws IOException
{
String macAddress = null;
String command = "ipconfig /all";
Process pid = Runtime.getRuntime().exec(command);
BufferedReader in =
new BufferedReader(
new InputStreamReader(pid.getInputStream()));
while (true) {
String line = in.readLine();
if (line == null)
break;
Pattern p = Pattern.compile(".*Physical Address.*: (.*)");
Matcher m = p.matcher(line);
if (m.matches()) {
macAddress = m.group(1);
break;
}
}
in.close();
return macAddress;
}
}
于 2012-04-05T09:58:11.227 に答える
2

ホストを取得するには、次の行を使用します

InetAddress address = socket.getInetAddress();
String hostIP = addresss.getHostAddress();

AshishはこのJavaコードを使用して、運が良ければ教えてください。また、役立つ場合は、このリンクを確認してください 。WiFiネットワークインターフェイスのMACアドレスを取得するにはどうすればよいですか。

于 2012-04-05T09:43:11.997 に答える