我想从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详细信息。非常感谢。
答案 0 :(得分:0)
MAC地址不通过TCP / IP(第3层及以上)流量传输。 MAC地址属于第2层,仅在单个LAN网段中有意义。
在客户端和服务器位于不同LAN网段的一般情况下,无法在服务器上获取客户端的MAC地址。如果客户端和服务器位于同一个LAN上,那么您可以通过查询本地ARP表来检索MAC,这可能需要提升权限。