`
jackroomage
  • 浏览: 1217714 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

如何获得客户端的IP及MAC地址

 
阅读更多

如何获得客户端的IP及MAC地址

 

 

1、获得真实的IP地址

public static String getIpAddr(HttpServletRequest request) {
  String ip = request.getHeader("x-forwarded-for");
  if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
   ip = request.getHeader("Proxy-Client-IP");
  }
  if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
   ip = request.getHeader("WL-Proxy-Client-IP");
  }
  if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
   ip = request.getRemoteAddr();
  }
  return ip;
 }

 

2、下面两个方法,是获得MAC地址。

public static String callCmd(String[] cmd) {  
        StringBuilder result = new StringBuilder("");  
        String line = "";  
        try {
         Process proc=null;
         for(String tmp:cmd){         
          proc = Runtime.getRuntime().exec(tmp);   
          proc.waitFor();
         }
         BufferedInputStream in = new BufferedInputStream(proc.getInputStream());
            BufferedReader br = new BufferedReader(new InputStreamReader(in));
            String s;
            while ((s = br.readLine()) != null)
             result.append(s).append("\n");
        } catch (Exception e) {
         e.printStackTrace();
        }

        return result.toString();  
    }  

public static String filterMacAddress(String ip, String sourceString,String macSeparator) {  
      String result = "";  
         String regExp = "((([0-9,A-F,a-f]{1,2}" + macSeparator + "){1,5})[0-9,A-F,a-f]{1,2})";  
         Pattern pattern = Pattern.compile(regExp);  
         Matcher matcher = pattern.matcher(sourceString);  
         while(matcher.find()){  
             result = matcher.group(1);  
             if(sourceString.indexOf(ip) <= sourceString.lastIndexOf(matcher.group(1))) {  
                 break;  //如果有多个IP,只匹配本IP对应的Mac.  
             }  
         }   
         return result;  
     }  

 

 public static void main(String[] args) {
  String ip ="10.81.66.155";
  String aa= filterMacAddress(ip,callCmd(new String[]{"ping "+ip,"arp "+ip+" -a"}),"-");
  System.out.println(aa);
 }

分享到:
评论

相关推荐

    java获取客户端ip及mac地址

    ### Java 获取客户端 IP 地址 在 Web 开发中,获取客户端 IP 地址是一项非常重要的功能,尤其是在需要记录用户活动、实现地理位置定位...以上就是关于如何在 Java 中获取客户端 IP 地址及 MAC 地址的相关知识点介绍。

    .net获取客户端IP,Mac地址

    在.NET开发环境中,获取客户端的IP地址和MAC地址是常见的需求,这主要涉及到网络通信和系统编程的相关知识。本文将详细讲解如何在.NET中实现这一功能,并提供相关的代码示例。 首先,我们要明白IP地址和MAC地址的...

    Java获取客户端IP及Mac地址(同网段).rar

    Java,运用了多线程内部执行,不影响其他登录验证操作。在Controller类获取客户端的IP地址的方法是:request....所以我们这里添加了条件验证,将客户端IP及Mac地址(同网段)与本地本地IP及Mac地址方法分开。

    java 获取客户端ip mac地址

    如果需要获取真实的客户端IP地址,还需要检查HTTP头部信息中的`X-Forwarded-For`字段。 #### 二、获取客户端 MAC 地址 获取客户端的MAC地址相对较为复杂,一般不推荐直接在Web应用中实现该功能。但在某些特定场景...

    asp.net_web_获取客户端IP和MAC地址

    总的来说,获取客户端IP地址在ASP.NET中相对简单,而获取MAC地址则涉及更复杂的网络环境和用户隐私问题,通常不直接在Web应用中操作。开发者应遵循最小权限原则和尊重用户隐私,避免不必要的数据收集。

    JS获取客户端IP地址及MAC地址(转)

    在JavaScript中,获取客户端IP地址和MAC地址是一个相对复杂的过程,因为JavaScript的浏览器安全限制不允许直接访问客户端的MAC地址。然而,我们可以通过一些间接的方法来获取客户端的IP地址。在这个场景下,`...

    JS获取客户端IP地址、MAC和主机名的7个方法汇总

    ### JS获取客户端IP地址、MAC和主机名的7个方法详解 #### 一、使用JS获取客户端IP的方法 ##### 方法一:使用ActiveX获取IP(仅适用于IE浏览器) 这种方法依赖于`ActiveXObject`来实现,因此只能在允许运行ActiveX...

    ASP.NET 获取客户端IP和MAC地址的程序

    ### ASP.NET 获取客户端IP和MAC地址的技术解析 #### 一、引言 在现代网络环境中,获取客户端的IP地址和MAC地址是许多应用场景中的基本需求之一。例如,在网络安全监控、日志记录、地理位置追踪等方面都有着重要的...

    华为S5700交换机绑定客户端IP、MAC和端口[定义].pdf

    华为S5700交换机绑定客户端IP、MAC和端口是指将客户端的IP地址、MAC地址和端口绑定到一起,以便更好地管理和控制网络流量。在这个过程中,我们可以使用am user-bind命令来实现客户端IP、MAC和端口的绑定。 am user-...

    javascript获取客户端网卡MAC地址和IP地址和计算机名

    javascript获取客户端网卡MAC地址和IP地址和计算机名

    js获取客户端的IP mac地址

    ### JavaScript 获取客户端IP与MAC地址方法详解 #### 一、背景介绍 在Web开发中,有时需要获取客户端的网络信息,比如IP地址和MAC地址。这些信息可用于多种用途,如定位用户位置、进行网络监控等。然而,由于隐私...

    java中获取客户端IP MAC信息

    可以通过java获取客户端IPMAC主机名等信息。下载就能用,欢迎下载!

    获取客户端IP地址

    获取客户端提交申请时的ip地址,例如用于微信支付的获取客户端ip,根据配置不不同,有可能ipv4或ipv6,当服务器在自己电脑上,做测试是,可以使用127.0.0.1替代localhost

    通过客户端IP地址获取客户端MAC地址

    通过客户端的ip地址获取mac地址,本文文件本人测过,可用,请大家放心下载,绝不骗积分

    获取客户端IP、MAC

    以下是一些关于如何在Java环境下获取客户端IP和MAC地址的知识点。 首先,获取客户端IP地址通常涉及到服务器端的编程。在Java中,可以通过`java.net`包中的`Socket`或`HttpServletRequest`类来获取。当客户端发起...

    web端不限制浏览器获取客户端MAC+IP地址

    web端项目通过浏览器访问的项目获取客户端mac地址及ip地址,进行登录权限校验; web端通过浏览器访问的项目增加权限; 本次项目由于对数据安全性要求较为严格,所以增加了用户在登录时对于客户端电脑的ip地址和mac...

    asp.net 获取客户端ip和mac地址

    asp.net 获取客户端ip和mac地址

    js 客户端 mac ip 地址

    ### JavaScript获取客户端IP和MAC地址 #### IP地址获取 在Web开发中,获取客户端IP地址相对简单,可以通过多种方式实现,例如利用HTTP请求头中的`X-Forwarded-For`或`REMOTE_ADDR`字段,或者通过第三方库和API来...

    web端不限制浏览器获取客户端MAC+IP地址进行权限安全校验

    web端项目通过浏览器访问的项目获取客户端mac地址及ip地址,进行登录权限校验; web端通过浏览器访问的项目增加权限; 本次项目由于对数据安全性要求较为严格,所以增加了用户在登录时对于客户端电脑的ip地址和mac...

    JS简单获取客户端IP地址的方法【调用搜狐接口】

    本文实例讲述了JS简单获取客户端IP地址的方法。分享给大家供大家参考,具体如下: &lt;!doctype html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;title&gt;使用搜狐接口获取客户端IP地址&lt;/...

Global site tag (gtag.js) - Google Analytics