【问题标题】:How to access client's MAC address in Restful web services如何在 Restful Web 服务中访问客户端的 MAC 地址
【发布时间】:2021-04-11 03:09:26
【问题描述】:

我有一个 Angular 应用程序,它正在进行休息调用:

http://localhost:8765/test/iptest

在我的控制器中:

@GetMapping(value = "test/iptest")
public ResponseEntity<Object> doTest() {
    log.debug("Inside Test");
    return new ResponseEntity<>("Test success", HttpStatus.OK);
}

如何使用此请求访问客户端的 IPMAC 地址

编辑: 我能够使用 HttpServletRequest 访问客户端的 IP 地址:

    import javax.servlet.http.HttpServletRequest;
    import javax.ws.rs.core.Context;

    @GetMapping(value = "test/iptest")
    public ResponseEntity<Object> doTest(@Context HttpServletRequest request) {
        log.debug("IP Address is:"+request.getRemoteAddr());
        return new ResponseEntity<>("Test success", HttpStatus.OK);
    }

但我无法访问 MAC 地址

【问题讨论】:

标签: java rest


【解决方案1】:

您不能 - 除了在本地 LAN 上,远程 MAC 地址不会暴露给您的端点。服务器收到的数据包的以太网标头中的 MAC 地址将是最近的路由器的 MAC 地址,该路由器是路径中的最后一跳。

即使在本地 LAN 上,您也无法获取 IP 套接字的此信息 - 查找本地 MAC 地址需要在操作系统的 ARP 表中四处寻找。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-24
    • 2011-03-26
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多