我想从java捕获客户端mac地址、ip详细信息。
我尝试了以下程序。但它只显示服务器 IP 详细信息。
InetAddress ip;
try {
ip = InetAddress.getLocalHost();
System.out.println("Current IP address : " + ip.getHostAddress());
NetworkInterface network = NetworkInterface.getByInetAddress(ip);
byte[] mac = network.getHardwareAddress();
System.out.print("Current MAC address : ");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < mac.length; i++) {
sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
}
我想访问客户端 mac ID 详细信息。如有任何帮助,我们将不胜感激。
最佳答案
MAC 地址不通过 TCP/IP(第 3 层及以上)流量传输。 MAC 地址属于第 2 层,并且仅在单个 LAN 网段内才有意义。
在客户端和服务器位于不同 LAN 网段的一般情况下,无法在服务器上获取客户端的 MAC 地址。如果客户端和服务器位于同一 LAN 上,那么您可能能够通过查询本地 ARP 表来检索 MAC,这可能需要提升权限。
关于java - 可以从java获取客户端mac地址吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36467542/