代码实现获取本机的物理地址和ip地址
时间: 2024-09-09 20:11:32 浏览: 42
android 获取本机的IP地址和mac物理地址的实现方法
在编程中,获取本机的物理地址(通常指的是MAC地址)和IP地址可以通过不同的方法实现,具体取决于编程语言和操作系统。以下是一个使用Java语言在Windows和Linux系统下获取MAC地址和IP地址的简单示例:
1. 获取MAC地址:
```java
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
public class NetworkInfo {
public static void main(String[] args) {
try {
Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
while (networkInterfaces.hasMoreElements()) {
NetworkInterface ni = networkInterfaces.nextElement();
if (ni.isUp() && !ni.isVirtual() && !ni.getHardwareAddress().equals(new byte[0])) {
byte[] mac = ni.getHardwareAddress();
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("MAC Address: " + sb.toString());
}
}
} catch (SocketException e) {
e.printStackTrace();
}
}
}
```
2. 获取IP地址:
```java
import java.net.InetAddress;
import java.net.UnknownHostException;
public class NetworkInfo {
public static void main(String[] args) {
try {
InetAddress inetAddress = InetAddress.getLocalHost();
System.out.println("Host Name: " + inetAddress.getHostName());
System.out.println("IP Address: " + inetAddress.getHostAddress());
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
```
注意:在某些操作系统上,可能需要额外的权限来获取网络接口的信息。此外,获取MAC地址的代码可能需要修改以适应不同操作系统的网络接口配置。
阅读全文