【问题标题】:possible to get the client mac address from java?可以从java获取客户端mac地址吗?
【发布时间】:2016-07-27 19:47:52
【问题描述】:

我想从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 详细信息。任何帮助将不胜感激。

【问题讨论】:

  • java 代码在服务器中运行,所以你得到服务器的mac地址。您需要处理请求对象以获取客户的信息

标签: java ip


【解决方案1】:

MAC 地址不与 TCP/IP(第 3 层及更高层)流量一起传输。 MAC 地址属于第 2 层,仅在单个 LAN 网段内有意义。

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

【讨论】:

    猜你喜欢
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    • 2016-09-06
    • 2017-10-28
    • 2018-06-14
    相关资源
    最近更新 更多