我想要得到机器的MAC地址..但下面写的代码只显示MAC地址时,互联网连接到我的机器,否则它将返回空...我用的是Windows7
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
class test
{
public static void main(String[] args)
{
InetAddress ip;
try {
ip = InetAddress.getLocalHost();
System.out.println("The mac Address of this machine is :" + ip.getHostAddress());
NetworkInterface network = NetworkInterface.getByInetAddress(ip);
byte[] mac = network.getHardwareAddress();
System.out.print("The mac address is : ");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < mac.length; i++){
sb.append(String.format("%02X%s", mac[i],(i< mac.length - 1)?"-":""));
}
System.out.println(sb.toString());
}
catch (UnknownHostException e) {
e.printStackTrace();
}
catch (SocketException e) {
e.printStackTrace();
}
}
}
试试看它应该可以在Linux和windows中工作
public static void main(String[] args) {
String command = "/sbin/ifconfig";
String sOsName = System.getProperty("os.name");
if (sOsName.startsWith("Windows")) {
command = "ipconfig";
} else {
if ((sOsName.startsWith("Linux")) || (sOsName.startsWith("Mac"))
|| (sOsName.startsWith("HP-UX"))) {
command = "/sbin/ifconfig";
} else {
System.out.println("The current operating system '" + sOsName
+ "' is not supported.");
}
}
Pattern p = Pattern
.compile("([a-fA-F0-9]{1,2}(-|:)){5}[a-fA-F0-9]{1,2}");
try {
Process pa = Runtime.getRuntime().exec(command);
pa.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(
pa.getInputStream()));
String line;
Matcher m;
while ((line = reader.readLine()) != null) {
m = p.matcher(line);
if (!m.find())
continue;
line = m.group();
break;
}
System.out.println(line);
} catch (Exception e) {
e.printStackTrace();
}
}
本文向大家介绍iOS如何获取手机的Mac地址,包括了iOS如何获取手机的Mac地址的使用技巧和注意事项,需要的朋友参考一下 首先说明下,下面两种方法均可以获得手机的mac地址,但是有个限制,是在iOS7以下才可以获得。iOS7以后苹果对于sysctl和ioctl进行了技术处理,MAC地址返回的都是02:00:00:00:00:00。 官方文档上这样写的: "Twolow-level network
在虚拟机环境中,我可以使用sigar来获取虚拟机的mac地址,但是如何获取主机的地址呢?
问题内容: 我知道您可以使用Java 6来做到这一点。但是我要部署的环境仅限于Java 5。 有谁知道如何在Java 5或更早版本中执行此操作?非常感谢。 问题答案: Java 5中的标准方法是启动一个本机进程来运行ipconfig或ifconfig解析OutputStream以获得您的答案。 例如:
本文向大家介绍Android手机获取Mac地址的方法,包括了Android手机获取Mac地址的方法的使用技巧和注意事项,需要的朋友参考一下 最常用的方法,通过WiFiManager获取: 这个方法Android 7.0是获取不到的,返回的是null,其实是返回“02:00:00:00:00:00” 根据本地IP获取: 这个方法Android 7.0及其以下版本都可以获取到。 根据网络接口获取: 注
问题内容: 我正在使用Ubuntu。如何使用C程序获取本机或接口eth0的MAC地址。 问题答案: 您需要遍历计算机上所有可用的接口,并与标志一起使用以获取mac地址。mac地址将以6字节的二进制数组形式获取。您还希望跳过环回接口。
问题内容: 我需要一种跨平台的方法来在运行时确定计算机的MAC地址。对于Windows,可以使用“ wmi”模块,在Linux下,我能找到的唯一方法是运行ifconfig并在其输出中运行正则表达式。我不喜欢使用只能在一个OS上运行的程序包,而且更不用说容易出错的语法解析另一个程序的输出。 有谁知道跨平台方法(Windows和Linux)方法来获取MAC地址?如果没有,还有谁比我上面列出的方法更优雅