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

Ami*_*rad 25 java tomcat servlets tcp

我被要求编写一个servlet来收集客户端的详细信息,如ip,mac address等.

获取他的IP是非常直接的(request.getRemoteAddr())但我没有找到一个优雅的方式来获取他的MAC地址.

似乎合理的是,Web服务器可以访问诸如Mac地址等数据,因为它获取TCP数据包等等.这个数据在哪里注册?它可以访问吗?

(我正在Tomcat6上工作)

ato*_*255 42

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

如果服务器足够接近(通过集线器或交换机直接连接),您可以使用ARP作为MAC地址.如果您通过Internet为IP执行此操作,您可能会获得最近的路由器或交换机的内部接口.

由于TCP/IP的工作方式,"帧"中使用的MAC地址将被撕掉并在每一跳处重新组装,信息在服务器和主机之间进行.

替代文字

封装


ivm*_*mos 8

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

  • 然而,MAC是可用的,因为它很可能不是客户端的NIC,而是与服务器最近的设备的MAC. (5认同)