有可能从java获取客户端mac地址吗?

时间:2016-04-07 05:37:58

标签: java ip

我想从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详细信息。非常感谢。

1 个答案:

答案 0 :(得分:0)

MAC地址不通过TCP / IP(第3层及以上)流量传输。 MAC地址属于第2层,仅在单个LAN网段中有意义。

在客户端和服务器位于不同LAN网段的一般情况下,无法在服务器上获取客户端的MAC地址。如果客户端和服务器位于同一个LAN上,那么您可以通过查询本地ARP表来检索MAC,这可能需要提升权限。