从客户端获取mac

时间:2013-10-23 20:33:08

标签: java ip vaadin mac-address

我正在尝试收集建筑物的mac地址,并且我使用Vaadin 6创建了一个Web应用程序(该应用程序具有其他功能,所以我必须坚持使用vaadin)。

问题是,我希望我的用户只插入他的名字,并让我自动获取他的mac地址,但问题是我不知道该怎么做。

我正在使用

ip = InetAddress.getLocalHost();
mac = ip.getHostAddress();

问题是这段代码返回了我自己的服务器ip和mac。

所以问题是,我怎样才能获得客户端的mac地址?

此外,如果我可以获得更好的本地IP,但首先我需要mac。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

您可以获得的servlet中客户端的IP地址 -

HttpServletRequest httpServletRequest = (HttpServletRequest) request;

// Proxy
String userIpAddress = httpServletRequest.getHeader("X-Forwarded-For");

if(userIpAddress == null) {
   userIpAddress = request.getRemoteAddr();
}

Vaadin中有一个班级WebBrowser,您可以使用它 -

WebBrowser browser = (WebBrowser) getWindow().getTerminal();
String userIpAddress = browser.getAddress();

发送方的MAC地址变化的次数是帧通过路由器的次数,您将始终收到网络网关的MAC地址。