我有一个角应用程序,它执行rest调用如下:
http://localhost:8765/test/iptest
在我的控制器里:
@GetMapping(value = "test/iptest")
public ResponseEntity<Object> doTest() {
log.debug("Inside Test");
return new ResponseEntity<>("Test success", HttpStatus.OK);
}如何使用此请求访问客户端的IP和MAC地址?
HttpServletRequest编辑:i能够使用以下方式访问客户端的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地址
发布于 2021-01-05 11:34:01
你不能--除了本地局域网之外,远程MAC地址不会暴露在你的端点上。在服务器接收到的数据包的以太网报头中的MAC地址将是最近的路由器的地址,这是路径中的最后一跳。
即使在本地局域网上,您也无法获得IP套接字的信息-查找本地MAC地址需要在OS的ARP表中查找。
https://stackoverflow.com/questions/65577678
复制相似问题