我可以用
ip = InetAddress.getLocalHost();
NetworkInterface.getByInetAddress(ip);
获取mac地址,但是如果我在离线计算机上使用此代码,它将无法正常工作。
那么,如何获得Mac地址?
在Java 6+中,你可以使用NetworkInterface.getHardwareAddress
。
请记住,计算机不能有网卡,尤其是嵌入式或虚拟的网卡。它也可以有多个。你可以使用来获取所有网卡的列表NetworkInterface.getNetworkInterfaces()
。
问题内容: 我正在使用Ubuntu。如何使用C程序获取本机或接口eth0的MAC地址。 问题答案: 您需要遍历计算机上所有可用的接口,并与标志一起使用以获取mac地址。mac地址将以6字节的二进制数组形式获取。您还希望跳过环回接口。
问题内容: 我正在尝试开发一个系统,其中有不同的节点在不同的系统或同一系统的不同端口上运行。 现在,所有节点都使用目标IP创建一个套接字,该目标IP是称为自举节点的特殊节点的IP。然后,节点创建自己的节点并开始侦听连接。 引导节点维护节点列表,并在查询时返回它们。 现在,我需要的是该节点必须将其IP注册到引导节点。一旦客户端连接到节点,我就尝试使用该方法,但这没有用。 我需要客户端注册其PPP I
问题内容: 我知道您可以使用Java 6来做到这一点。但是我要部署的环境仅限于Java 5。 有谁知道如何在Java 5或更早版本中执行此操作?非常感谢。 问题答案: Java 5中的标准方法是启动一个本机进程来运行ipconfig或ifconfig解析OutputStream以获得您的答案。 例如:
问题内容: 当前,提到的用于获取MAC地址的所有解决方案始终使用eth0。但是,如果接口不是以eth0开头,该怎么办呢?同样在OS X上,接口名称也不同。 eth0接口也可能存在但未使用。即不活跃,它没有一个IP。 因此,有没有一种方法可以获取第一个可用接口Active的MAC地址(即,它具有一个inet地址,我什至不希望有人拥有inet6)。 例如 注意:我更改了输出值。 因此,在这种情况下,我
问题内容: 我需要获取运行程序的系统的mac地址。但我无法做到这一点。 我正在编写以下代码: 我得到以下结果: 我没有得到MAC地址,它为空。 我从这里看到了这个例子 问题答案: 如果您考虑了多个接口和一些空MAC地址(我在装有VMWare的Windows 7上运行Java 7(因此我有一些虚拟网络适配器)),那么这段代码似乎可以正常工作: 这是运行它时在计算机上看到的内容(经过消毒的版本): 这
在虚拟机环境中,我可以使用sigar来获取虚拟机的mac地址,但是如何获取主机的地址呢?