我被要求写一个servlet,收集客户的详细信息,例如ip,mac地址等。
获取他的IP非常简单(request.getRemoteAddr()),但是我找不到获取他MAC地址的优雅方法。
request.getRemoteAddr()
Web服务器可以访问数据(例如Mac地址等)似乎很合理,因为它可以获取TCP数据包和所有数据包。该数据是否在某处注册?可以访问吗?
(我正在使用Tomcat6)
您可能不会得到想要的东西。(客户端的MAC地址)
如果服务器足够近(通过集线器或交换机直接连接),则可以ARP作为MAC地址。如果对Internet上的IP执行此操作,则可能会获得最近的路由器或交换机的内部接口。
由于TCP / IP的工作方式,“帧”中使用的MAC地址将被剥夺,并在服务器和主机之间获取信息的每个跃点处重新组装每个MAC地址。
封装形式