Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,如果不使用IP,如何获取MAC地址?_Java_Tcp_Java 7_Ethernet_Mac Address - Fatal编程技术网

在Java中,如果不使用IP,如何获取MAC地址?

在Java中,如果不使用IP,如何获取MAC地址?,java,tcp,java-7,ethernet,mac-address,Java,Tcp,Java 7,Ethernet,Mac Address,如何在不知道并使用Java中的IP地址的情况下找到网卡的MAC地址?您可以使用如下系统命令(如果您在nix系统上,如果您的操作系统是windows,则以类似方式使用ipconfig): 在我的系统上,它给出: ether 28:37:37:15:3b:31 ether b2:00:10:65:56:41 ... 请注意,可能有许多MAC地址、蓝牙、以太网、WIFI等。您可以使用网络接口。getHardwareAddress。您可以使用NetworkInterface.getNetworkI

如何在不知道并使用Java中的IP地址的情况下找到网卡的MAC地址?

您可以使用如下系统命令(如果您在
nix
系统上,如果您的操作系统是windows,则以类似方式使用
ipconfig
):

在我的系统上,它给出:

ether 28:37:37:15:3b:31 
ether b2:00:10:65:56:41 
...

请注意,可能有许多MAC地址、蓝牙、以太网、WIFI等。

您可以使用
网络接口。getHardwareAddress
。您可以使用
NetworkInterface.getNetworkInterfaces()
获取所有网卡的列表

您可以使用此代码了解MAC地址

InetAddress address = InetAddress.getLocalHost();
NetworkInterface nwi = NetworkInterface.getByInetAddress(address);
byte mac[] = nwi.getHardwareAddress();
System.out.println(mac);

我曾经尝试过这样做,但没有成功,因为它首先获取linux中本地环回的地址。更具体地说,我只需要在linux上连接到internet上的网卡的internet地址,因为在windows上使用的是您提供的方法。与此无关。
InetAddress address = InetAddress.getLocalHost();
NetworkInterface nwi = NetworkInterface.getByInetAddress(address);
byte mac[] = nwi.getHardwareAddress();
System.out.println(mac);