java - 从客户端获取mac

标签 java ip vaadin mac-address

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

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

我在用

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

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

那么问题来了,如何获取客户端的mac地址??

另外,如果我能获得本地 ip 就更好了,但首先我需要 mac。

非常感谢任何帮助。

最佳答案

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 地址。

关于java - 从客户端获取mac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19551741/

相关文章:

linux - 当目标 IP 不是分配给接口(interface)的 IP 时,在 TUN/TAP 接口(interface)上接收 IP 数据包

java - Vaadin 文本区域已过时

java - 如何使用 JTextPanel 获取字符串

java - 如何评估 "double negative"句子的情绪

java - 如何将 github 存储库配置为 spring 云服务器的配置存储库?

java - "JBAS014151: Could not find view "

linux - 缓存路由不反射(reflect)路由表

asp.net-mvc - 如何在asp.net mvc中使用IP地址获取地理位置

google-app-engine - Google 应用引擎的智能 GWT 或 ext GWT 或 Vaadin?

Vaadin:强制按钮在视觉上被禁用