如何从HttpServlet获取客户端的MAC地址?

2022-09-01 15:32:54

我被要求编写一个收集客户端详细信息(如ip,mac地址等)的servlet。

获取他的IP非常简单(),但我没有找到一种优雅的方法来获取他的MAC地址。request.getRemoteAddr()

Web服务器可以访问诸如Mac地址等数据似乎是合理的,因为它可以获得TCP数据包和所有内容。这些数据是否在某处注册?是否可访问?

(我正在Tomcat6之上工作)


答案 1

你可能不会得到你想要的。(客户端的 MAC 地址)

如果服务器足够近(通过集线器或交换机直接连接),则可以对 MAC 地址进行 ARP。如果您为互联网上的IP执行此操作,则可能会获得最近的路由器或交换机的内部接口。

由于TCP / IP的工作方式,“帧”中使用的MAC地址将被扯掉,并在服务器和主机之间的每个跃点处重新组装信息。

alt text

封装


答案 2

TCP/IP...你无法获得MAC地址,这是一个太低层的AFAIK


推荐